서로 관련있는 속성 (데이터)과 행동(함수-method)을 묶어주기 위해 사용한다.
밀접하게 관련있는 속성과 행동을 객체로 묶어야한다.
key는 문자, 숫자 ,문자열, 심볼이 들어올 수 있다.
value - 원시타입, 객체, 함수가 할당 가능.
let apple = {
name: 'apple',
'hello-hi': 123, // 문자열을 쓰면 '-' 데쉬 사용가능
0: 1,
['hello-bye']: 'bye',
};
console.log(apple.name); // dot-notation
console.log(apple[0]); // bracket-notation
console.log(apple['hello-hi']);
apple.madeIn = '우리동네' // 속성 추가
delete apple.madeIn // 속성 삭제
obj에 속성을 추가하는 함수를 사용할 때, dot-notation을 사용할 수 없다.
동적으로 속성에 접근하고 싶을때는 Bracket-notation을 사용해야 한다.
const obj = {
name: '대근',
age: 20,
};
function addKey(obj, key, value) {
obj[key] = value;
}
addKey(obj, 'job', 'developer');
객체 내에 value로 함수를 할당하면 method라 한다.
화살표 함수나 함수 표현식을 사용해야한다. 객체 내에서 자신의 속성에 접근할때는 this를 사용해야한다
const apple = {
name: 'apple',
display: function () {
console.log(this.name); // 객체 내에서 자신의 속성에 접근할때는 this를 붙여줘야 함.
},
};