자바스크립트에서 객체를 생성하기 위해 주로 사용되는 방법 중 하나는 객체 리터럴을 사용하는 것입니다. 객체 리터럴은 중괄호({}) 안에 속성과 값을 정의하는 방식으로 객체를 생성합니다. 하지만 ES6에서는 객체 리터럴을 더욱 편리하게 사용할 수 있는 확장된 문법을 도입했습니다.
프로퍼티 축약 표현
ES6 이전에는 객체의 프로퍼티를 정의하기 위해서는 프로퍼티 이름과 값을 일일히 작성해야 했습니다. 하지만 ES6에서는 프로퍼티 축약 표현을 제공하여, 프로퍼티 이름과 값을 한 번에 작성할 수 있습니다.
// ES6 이전
var name = "John";
var age = 30;
var person = {
name: name,
age: age
};
// ES6 확장된 객체 리터럴
var name = "John";
var age = 30;
var person = {
name,
age
};
프로퍼티 축약 표현을 사용하면, 변수 이름과 동일한 이름의 프로퍼티를 자동으로 생성할 수 있습니다.
계산된 프로퍼티 이름
ES6에서는 객체의 프로퍼티 이름을 동적으로 계산하여 정의할 수 있는 기능을 제공합니다. 이를 계산된 프로퍼티 이름이라고 합니다. 계산된 프로퍼티 이름은 대괄호([]) 안에 식을 작성하여 프로퍼티 이름을 동적으로 결정할 수 있습니다.
function getPropertyName() {
return "name";
}
var person = {
[getPropertyName()]: "John"
};
위의 예제에서는 getPropertyName
함수가 반환하는 값을 프로퍼티 이름으로 사용하여 person
객체를 생성합니다. 이를 통해 동적으로 프로퍼티 이름을 결정할 수 있습니다.
프로퍼티 축약 표현과 계산된 프로퍼티 이름의 결합
프로퍼티 축약 표현과 계산된 프로퍼티 이름을 결합하여 더욱 강력한 객체 리터럴을 구성할 수 있습니다.
var prefix = "app";
var sequence = 1;
var obj = {
[`${prefix}-item-${sequence}`]: "Value"
};
위의 예제에서는 prefix
, sequence
변수를 사용하여 계산된 프로퍼티 이름을 생성하고, 그 값을 "Value"
로 설정하여 obj
객체를 생성합니다. 이를 통해 동적인 프로퍼티 이름과 값을 가진 객체를 손쉽게 만들 수 있습니다.
마무리
ES6에서 도입된 자바스크립트 확장된 객체 리터럴 문법을 사용하면, 더욱 간결하고 강력한 객체를 생성할 수 있습니다. 프로퍼티 축약 표현과 계산된 프로퍼티 이름을 적절히 활용하여 자바스크립트 코드를 더 효율적으로 작성해 보세요.