• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

객체 리터럴의 변화 부분에서 질문이 있습니다.

18.11.29 14:57 작성 조회수 67

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'를 생각하면 쉽습니다.