인프런 커뮤니티 질문&답변
객체 리터럴의 변화 부분에서 질문이 있습니다.
작성
·
131
0
객체 리터럴에서 동적으로 값을 할당할 때
var es = 'ES'var obj = {
[es + 6] = 'value'
}
해당 부분에서 어떻게 obj.ES6처럼 사용될 수 있는건지 궁금합니다.
es가 변수의 역할을 하고 + 로 6과 함께 ES6라는 key의 역할을 하는 것으로 보이는데
es 변수가 가진 값은 'ES'라는 문자열이고 6은 상수인데 ES6가 아닌 es6로 호출해야 하지 않나라는 궁금증이 생깁니다.
리터럴에 이런식으로 값을 할당하는 것은 처음봐서 이해가 잘 되지 않는데 질문이 조금 난해하더라도 이해 부탁드립니다!
답변 1
0
제로초(조현영)
지식공유자
[es + 6]에서 es + 6 부분의 값이 ES6입니다. 즉 var obj = { ES6: 'value' }가 됩니다. 따라서 obj.ES6로 접근합니다.
obj[es + 6] = 'value'를 생각하면 쉽습니다.





