객체 리터럴
let apple = {
name: 'apple',
'hello-bye':'✋',
0: 1,
['hello-bye1']:'✋',
}
//key 이름과 참조하려는 이름이 똑같다면 생략이 가능
const x = 0;
const y = 0;
const coordinate = { x, y}; // {x: x, y: y} 축약
속성 데이터에 접근 법
apple.name; // 마침표 표기법
console.log(apple['hello-by1']); // 대괄호 표기법
속성 추가, 삭제
// 속성추가
apple.emoji = '🍎';
console.log(apple.emoji);
console.log(apple['emoji']);
//속성삭제
delete apple.emoji;
console.log(apple);
객체 동적으로 접근
const obj = {
name: '엘리',
age: 20,
}
function getValue(obj, key){
return obj[key];
}
console.log(getValue(obj, 'name')); // 엘리
const apple = {
name: 'apple',
display: function(){
console.log('${this.name}: 🍎');
// 객체안에서 자기자신의 속성에 접근할때는 this 사용
},
}
apple.display(); // apple: 🍎
생성자 함수
function Fruit(name, emoji){
this.name = name;
this.emoji = emoji;
this.display = () => {
console.log('${this.name}:${this.emoji}');
}
return this; //생략가능
}
const apple = new Fruit('apple','🍎')
const orange = new Fruit('orange','🍊')