JavaScript에서 사실 Object의 키 값을 굉장히 다양하게 사용할 일이 많습니다. 특히 SQL을 다룰때라면 그 값들을 리맵핑하면서 그리고 그 외에도 수많은 사례가 있습니다. 그런데 이 때 직접 손으로 쓰지 않고 해결할 수 있는 방법이 있습니다.

Computed Property

JavaScript의 ECMA 2015 스펙에는 ComputedPropertyName이라는 것이 포함되어 있습니다. 이를 사용하면 다음과 같이 Object의 키 값을 더욱 더 유동적으로 설정할 수 있습니다. 아래 예제 코드와 같이 매우 쉽게 객체 obj의 키값을 설정할 수 있죠.

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

console.log(obj)

다만 일부 웹 브라우저에서는 기본적으로 지원하지 않는 경우가 있습니다

하지만 웹 브라우저에서 바벨 등의 컴파일러를 사용하지 않는다면 직접적인 사용에는 문제를 일으킬 수 있습니다. ECMA 2015로 스펙이 구현된지 꽤 많은 시간이 지났음에도 불구하고 메이저한 문법이 아니기 때문입니다.


간단한 문법이지만 사실 잘 알려지지 않아서 한 번 알고 나면 훨씬 많은 부분에서 효율적으로 개발이 가능하다고 생각합니다.