[JS] 자바스크립트 동적할당(Dynamic Allocation)

자바스크립트 객체 KEY 동적 할당

var something = {
    name: 'shinecoding',
    job: 'developer'
 }

위와 같이 Object는 KEY와 VALUE의 쌍으로 이루어져있고 쌍따옴표를 이용해서 "name" : "shinecoding"와 같이 작성할 수 있지만, KEY에는 문자열을 그대로 사용하기 때문에 KEY를 동적으로 할당해주어야 할 필요가 있을 때에 변경이 불가능하다.

var keyname  = 'name';
var something = { keyname : 'shinecoding' } 

 // 원래 의도는 { name: "shinecoding" }
 console.log(something) // { keyname: "shinecoding" }

위와 같은 코드를 작성하였을 때, 원래 의도는 something객체의 KEY에 'name'을 할당하려 했지만, 변수명 'keyname'이 그대로 들어가기에 위에서 설명했던 내용과 같이 KEY에는 문자열을 그대로 사용하기 때문에 위와 같은 방법으로는 KEY를 동적으로 할당이 불가능하다.

var keyname  = 'name';
**var something = {[keyname] : 'shinecoding'}**
 console.log(something) // {name: "shinecoding"}

따라서 위와 같이 '[]'를 사용하여 KEY를 설정해주어야 KEY를 동적으로 할당할 수 있다.