작성자 : 황유진
검수자 : 장기효, 배광식
Enhanced Object Literals
Literal
- new를 사용하지 않고 객체를 만드는 것을 리터럴이라 한다.
var jimmy = new Object();
jimmy.firstName = 'Bae';
jimmy.age = 40;
console.log(1, jimmy);
var jimmy = {
firstName: 'Bae',
age: 40
};
console.log(2, jimmy);
단축 표기
- 객체 속성의
속성 이름(property name)과 값(value)의 변수명이 같을 경우 축약이 가능하다.
var firstName = 'Bae';
var jimmy = {
firstName: firstName
};
console.log(jimmy);
const firstName = 'Bae';
const jimmy = {
firstName
};
console.log(jimmy);
- 객체의 속성에 함수를 정의하는 경우
function 키워드를 쓰지 않고도 아래와 같이 간편하게 메서드 함수를 정의할 수 있다.
var math = {
sum: function() {
return 10 + 20;
}
};
math.sum();
const math = {
sum() {
return 10 + 20;
}
};
math.sum();
- 객체의 속성 이름을 동적으로 선언할 수 있다.
const parent = ['Mother', 'Father'];
const jimmy = {
firstName: 'Bae',
age: 40,
['parent' + parent[0]]: 'Susan Park',
['parent' + parent[1]]: 'Peter Bae'
};
console.log(jimmy.parentMother);
console.log(jimmy.parentFather);