본문 바로가기

JS/ECMAscript

객체 리터럴 변경사항

트레일링 콤마


원소를 추가할 때 ,를 붙일 필요 없다.

const comma={
a:1,
b:2,
}


단축 속성명

const [a,b]=[1,2]
const obj={a:a,b:b}
const obj2={a,b}

console.log(obj)
console.log(obj2)


단축 메서드명

// old
const objWithFunction = {
f: function () { console.log(1); }
};
objWithFunction.f(); // 1
// new (ES6~ )
const objWithFunction2 = {
f() { console.log(1); }
};
objWithFunction2.f(); // 1


계산된 속성 이름

객체에서 키를 대괄호 []로 감쌀 경우 키의 값을 속성 이름으로 사용한다.

const aaa = "ab";
const obj = { [aaa]: 'b' };
console.log(obj); // { a: 'b' }
const obj3 = { ['ab' + 'c']: 3 };
console.log(obj3); // { abc: 3 }

출력 

{ ab: 'b' } //aaa변수의 값인 ab가 객체 obj의 키로 들어가게 된다.

{ abc: 3 } //대괄호 안헤 표현식을 써 넣어도 된다.

'JS > ECMAscript' 카테고리의 다른 글

멀티라인 문자열  (0) 2018.12.29
화살표 함수 arrow function  (0) 2018.12.29
기본 인자  (0) 2018.12.29
나머지 연산자와 전개 연산자  (0) 2018.12.29
var vs let vs const  (0) 2018.12.29