Enhanced Object Literals

August 12, 2021

Enhanced Object Literal

자바스크립트에서 객체는 리터럴(Literal) 형식 또는 선언적(Declarative) 형식으로 정의하는 방식과, 생성자 형식 두 가지 방법으로 정의할 수 있다.

const foo = 30;

const obj = {
	foo: foo,
	bar: function bar(){
		console.log('Hello world');
	}
};

console.log(obj.foo); // 30. Property Access
console.log(obj["foo"]); // 30. Key Access
obj.bar(); // Hello world

ES6에서부터는 문법이 좀 더 확장되었다. 객체 리터럴을 생성할 때 불필요한 반복 작업을 줄이고 조금 더 유연한 생성을 가능하게 한다.

const foo = 30;

const obj = {
	// foo: foo 의 shorthand
	foo,
	// bar: function bar(){...}
	bar() {
		console.log('Hello world');
	},
	// Computed property. 프로퍼티 이름에 연산이 가능함
	['' + (() => 'baz')()] : 'baz'
};

console.log(obj.foo); // 30
obj.bar(); // Hello world
console.log(obj.baz); // baz

참고


songmk 🙁