반응형
자바 스크립트 사전의 키는 값으로 저장되지 않고 변수 이름으로 저장됩니다.
이렇게 사전 객체를 만들려고합니다.
var obj = { varName : varValue };
내가 기대하는 것은 if varName='foo'
, obj 여야 {'foo', 'some value' }
하지만 내가 보는 것은 {varName, 'some value'}
변수의 값이 사용되지 않고 변수 이름이 키로 사용된다는 것입니다. 변수 값을 키로 사용하려면 어떻게해야합니까?
다음과 같이 시도하십시오.
var obj = {};
obj[varName] = varValue;
이전 자바 스크립트에서는 '동적'키로 개체를 초기화 할 수 없습니다. var obj = { varName : varValue };
와 동일합니다 var obj = { "varName" : varValue };
. 이것이 자바 스크립트가 해석하는 방식입니다.
그러나 새로운 ECMAScript는 계산 된 속성 이름을 지원 하며 다음을 수행 할 수 있습니다.
var obj = { [varName]: varValue };
작년에 더 나은 브라우저 지원을받은 ECMAScript 2015부터는 변수 인덱스 표기법을 사용할 수 있습니다.
var obj = { [varName] : varValue };
이것은 구문 적으로 다음과 같습니다.
var obj = {};
obj[varName] = varValue;
표현식 또는 기호를 속성 키로 사용할 수도 있습니다.
var contact = {
company: companyName,
};
var companiesWithContacts = {
[contact.company.toLowerCase()]: true
};
var myList = {
[Symbol.iterator]: createIteratorForList
};
function createIteratorForList() { ... }
반응형
'Nice programing' 카테고리의 다른 글
항목의 수평 배열이있는 WPF ListView? (0) | 2021.01.05 |
---|---|
상대 경로를 절대 경로로 변환 하시겠습니까? (0) | 2021.01.05 |
내부 클래스 라이브러리를 테스트하는 방법은 무엇입니까? (0) | 2021.01.05 |
Apache Spark 대 Akka (0) | 2021.01.05 |
"pull to refresh"작업을 비활성화하고 표시기 만 사용하는 방법은 무엇입니까? (0) | 2021.01.05 |