
객체: 변경 가능한 값(mutable value)
객체 생성 방법 중 가장 일반적이고 간단한 방법은 객체 리터럴을 사용하는 방법임
var user = { // user라는 객체의 상태를 나타내는 값
name: 'John',
age: 30,
email: 'john@example.com'
};
객체는 프로퍼티의 집합이며, 프로퍼티는 키와 값으로 구성
var person = {
firstName: 'Ung-mo',
'last-name': 'Lee',
'': '',
firstName: 'Hello'
};
person.firstName
person[firstName]
객체에 존재하지 않는 프로퍼티에 접근시 undefined 반환
-> 존재하지 않는 프로퍼티에 값을 할당하면 프로퍼티가 동적으로 생성되어 추가되고 값이 할당됨
var person = {
name: 'Lee'
};
person.age = 20;
// {name: 'Lee', age: 20}
var person = {
name: 'Lee',
age: 20
};
delete person.age;
// {name: 'Lee'}
프로퍼티 축약 표현
let x = 1, y = 2;
const obj = { x, y };
// {x:1, y:2}
계산된 프로퍼티 이름
const prefix = 'prop';
let i = 0;
const obj = {
[`${prefix}-${++i}`]: i,
[`${prefix}-${++i}`]: i,
[`${prefix}-${++i}`]: i
};
// {prop-1: 1, prop-2: 2, prop-3: 3}
메서드 축약 표현
const obj = {
name: 'Lee',
sayHi() {
console.log('Hi! ' + this.name);
}
};
obj.sayHi();
// Hi! Lee