객체 (Object)
여러개의 데이터를 한 변수에 저장할 수 있는 자료형.
배열은 인덱스 번호로 값에 접근하지만, 객체는 키(key)를 통해 값(value)에 접근함. (파이썬에서의 딕셔너리랑 비슷한듯)
키 값 쌍을 합쳐서 자산(properties), 함수인 경우는 메소드라고 함.
const MacPro = {
owner : "내꺼",
CPU : "M1",
RAM : 16,
shoutout(){
console.log("맥북 개이쁨");
}
};
console.log(`CPU가 뭐야? ${MacPro.CPU}입니다.`); // CPU가 뭐야? M1입니다.
MacPro.shoutout(); // 맥북 개이쁨
// 객체 속성 추가
MacPro.ssd = 256;
// 객체 속성 삭제
delete MacPro.owner;
console.log('ssd' in MacPro); // true
객체의 메소드
- hasOwnProperty() : 객체가 특정 프로퍼티를 갖고 있는지 true 또는 false 반환. in과 다른점은 in은 상위 프로토타입까지 모두 탐색.
const MacPro = {
owner : "내꺼",
CPU : "M1",
RAM : 16,
shoutout(){
console.log("맥북 개이쁨");
}
};
console.log(MacPro.hasOwnProperty('owner')); // true
- for ... in : 객체의 반복을 통해 키에 접근
const MacPro = {
owner : "내꺼",
CPU : "M1",
RAM : 16,
shoutout(){
console.log("맥북 개이쁨");
}
};
for (let key in MacPro){
console.log(`${key} : ${MacPro[key]}`);
};
// owner : 내꺼
// CPU : M1
// RAM : 16
// shoutout: shoutout(){
// console.log("맥북 개이쁨");
// }
- Object.keys() / Object.values() : 속성의 키들과 속성의 값들을 배열로 반환.
const MacPro = {
owner : "내꺼",
CPU : "M1",
RAM : 16,
shoutout(){
console.log("맥북 개이쁨");
}
};
console.log(Object.keys(MacPro)); // ['owner', 'CPU', 'RAM', 'shoutout']
console.log(Object.values(MacPro)); // ['내꺼', 'M1', 16, ƒ]
'JS' 카테고리의 다른 글
JS(10) 조건문과 반복문 (0) | 2023.08.24 |
---|---|
JS(9) 함수 (0) | 2023.08.24 |
JS(7) Type - 객체타입(1) 배열 (0) | 2023.08.24 |
JS(6) Type - 원시타입(3) Boolean, undefined, null (0) | 2023.08.23 |
JS(5) Type - 원시타입(2) 숫자형 (0) | 2023.08.23 |