자바스크립트/모던 자바스크립트

모던 자바스크립트, 계산된 속성 이름 (computed property name)

Jake Seo 2023. 1. 24. 23:57

계산된 속성 이름 (computed property name)

  • 계산된 속성 이름 (computed property name) 은 표현식의 결과를 프로퍼티의 이름으로 쓸 수 있게 해준다.

예제1: 기본 사용법

const name = "answer";
const obj = {
  [name]: 100,
};
console.log(obj);

예제2: 작동 순서 파악하기

let counter = 0;

const obj = {
  [counter++]: counter++,
  [counter++]: counter++,
};

console.log(obj); // {"0": 1, "2": 3}
  • 인터프리터에 의해 해석되는 시점에 왼쪽에서 오른쪽으로 위에서 아래로 식이 하나씩 평가된다.
let counter = 0;

const getObj = () => ({
  [counter++]: counter++,
  [counter++]: counter++,
});

counter++;
counter++;

console.log(getObj()); // {2: 3, 4: 5}
  • 인터프리터에 의해 해석되는 시점에 평가되므로, 함수의 경우엔 호출되는 시점에 평가된다.
반응형