객체는 key와 value의 쌍으로 이루어져 있다.
let myKey = 'keykey';
let myValue = 'valuevalue';
let myObject = {
myKey: myValue,
};
console.log(myObject);
//{ myKey: 'valuevalue' }
위 코드의 콘솔 결과는 { myKey: 'valuevalue' }이다.
myKey에 할당된 'keykey'가 위 객체의 key값으로 들어가길 기대했는데, 그냥 myKey 자체가 string으로 받아들여졌다.
value는 동적으로 할당이 되나, key 부분에는 위와 같은 방법으로는 동적으로 값이 적용되지 않는다.
해결하기 위해서는 다음과 같이 해야 한다.
let myKey = 'keykey';
let myValue = 'valuevalue';
//객체 생성과 동시에 동적인 key 값 설정
let myObject = {
[myKey]: myValue,
};
let newKey = 'new Key is good';
// 객체 생성 후 동적인 key 값 설정
myObject[newKey] = 'this is value';
console.log(myObject);
//{ keykey: 'valuevalue', 'new Key is good': 'this is value' }