객체 리터럴
다음 코드는 oldObject 객체에 동적으로 속성을 추가할 수 있습니다.
var sayNode = function() {
console.log('Node');
};
var es = 'ES';
var oldObject = {
sayJS: function() {
console.log('JS');
},
sayNode: sayNode,
};
oldObject[es + 6] = 'Fantastic';
oldObject.sayNode(); // Node
oldObject.sayJS(); // JS
console.log(oldObject.ES6); // Fantastic
이 코드를 다음과 같이 다시 쓸 수 있습니다.
const newObjecy = {
sayJS() {
console.log('JS');
},
sayNode,
[es + 6]: 'Fantastic',
}
newObject.sayNode(); // Node
newObject.sayJs(); // JS
console.log(newObject.ES6); // Fantastic
newObject에서는 sayJS 같은 객체의 메서드에 함수를 연결할 때 더는 클론(:)과 function을 붙이지 않아도 됩니다.
sayNode: sayNode처럼 속성명과 변수명이 동일한 경우에는 한 번만 써도 됩니다.
{ name: name, age: age } // ES5
{ name, age } // ES2015
객체의 속성명은 동적으로 생성할 수 있습니다.
ES2015 문법에서는 객체 리터럴 안에 동적 속성을 선언해도 됩니다.