슬슬 자바느낌나,,,
<script>
/*
객체란(배열 vs 객체)?
객체란 속성과 메서드를 가지고 있는 참조자료형이다.
객체{}는 키와 값을 한쌍으로 갖는 자료형이다.
배열[]은 값만 가지는 객체이다.
*/
console.log('배열 = ', typeof[]);
console.log('객체 = ', typeof{});
//객체
let obj1 = {};
let obj2 = new Object();
let person = {
name: '홍길동',
age: 1000,
speak: function() {console.log('말을 합니다');
}
};
//class와 object의 차이점은 class는 데이터가 없고 object는 데이터가 있다.
// {}, new Object
class Person {
name;
age;
speak(){}
// constructor(){}
constructor(name, age){
this.name = name;
this.age = age;
}
}
let hong = new Person();
let sonny = new Person('손흥민', 30);
let 민재 = new Person('김민재', 25);
console.log("객체({}) = ", 민재.name, 민재['age']);
console.log("객체(new/기본) = ", hong.name, hong['age']);
console.log("객체(new/매개) = ", sonny.name, sonny['age']);
</script>
<script>
//1. 객체의 선언과 속성 정의하기
let student = {};
// 1)속성추가
student.sno = 10;
student.name = "홍길동";
student.gender = "남자";
for(let key in student){
document.write(`${key} = ${student[key]}<br>`)
}
// 2)객체 매서드 추가/재정의
//a. 상속받은 매서드 재정의(toString())
console.log(student.toString());
student.toString = function(){
return `학번 = ${student.sno}, 이름 = ${student.name}, 성별 = ${student.gender}`;
};
console.log(student.toString());
// console.log(student.toString());
//b. 객체 매서드 추가하기(잘 안씀)
student.study = function(course) {
return `${this.name}이(가) ${course}과목을 공부합니다`;
}
console.log(student.study('영어'));
console.log(student.study('수학'));
//3. 속성 및 메서드 삭제하기(잘 안씀)
delete(student.name);
delete(student.study);
for(let key in student){
document.write(`${key} = ${student[key]}<br>`)
}
</script>
'일 > javascript' 카테고리의 다른 글
js07_DOM (0) | 2023.06.01 |
---|---|
js06_BOM (0) | 2023.05.31 |
js04_function (0) | 2023.05.31 |
js03_for (0) | 2023.05.31 |
js02_if (0) | 2023.05.31 |