JS & TS

[JS] 객체 리터럴

퉁그리 2022. 6. 28. 15:44

ES6 버전에서 객체 리터럴이라는 기능이 추가되었다.

 

let sayNode = function(){
  console.log('Node');
}

let es = 'ES';
let oldObject = {
  sayJS: function() {
    console.log('JS');
  },
  sayNode: sayNode,
};
oldObject[es + 6] = 'Fantastic';
oldObject.sayNode(); // Node
oldObject.sayJS(); // JS
console.log(oldObject.ES6); // Fantastic

let newObject = {
  sayJS() {
    console.log('JS');
  },
  sayNode,
  [es + 6]: 'Fantastic',
};
newObject.sayNode(); // Node
newObject.sayJS(); // JS
console.log(newObject.ES6); // Fantastic

oldObject와 newObject를 비교하면

 

sayJS 같은 경우 function과 콜론을 붙이지 않고 좀 더 직관적으로 쓸 수 있게 되었고,

sayNode와 같이 키와 밸류가 같을 경우 하나만 명시할 수 있도록 바뀌었으며,

ES6과 같이 동적 속성을 안에서도 선언할 수 있도록 바뀌었다.