계산된 속성 이름 (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}
- 인터프리터에 의해 해석되는 시점에 평가되므로, 함수의 경우엔 호출되는 시점에 평가된다.
반응형
'자바스크립트 > 모던 자바스크립트' 카테고리의 다른 글
ES6 이후에 새롭게 정의된 Object 편의 정적 메서드들 (0) | 2023.01.30 |
---|---|
모던 자바스크립트, 메서드 정의 문법과 super, [[HomeObject]] (0) | 2023.01.25 |
모던 자바스크립트, 단축 속성 (shorthand properties) (0) | 2023.01.24 |
모던 자바스크립트, 프로토타입 얻기 설정하기 (getPrototypeOf, setPrototypeOf) (0) | 2023.01.24 |
모던 자바스크립트, 심볼 (Symbol) (0) | 2022.12.23 |