반응형
대괄호 자바스크립트 객체 키
자바스크립트에서 키를 할당하는 아래의 방법이 어떻게 작동하는지 누가 설명해줄 수 있습니까?
a = "b"
c = {[a]: "d"}
반환:
Object {b: "d"}
이것은 새로운 ES2015(EcmaScript spec을 공식적으로 ES6라고 함) 계산된 속성 이름 구문입니다.그것은 그들의 축약어입니다.someObject[someKey]
ES3/5에서 알고 있는 과제:
var a = "b"
var c = {[a]: "d"}
은 다음을 의미하는 통사당입니다.
var a = "b"
var c = {}
c[a] = "d"
정말로 사용하는.[]
변수의 실제 값을 키로 사용하는 우수한 방법을 제공합니다./
JavaScript 개체를 만드는 동안 property.
저는 위의 답변에 상당히 만족하고 있으며, 이것을 작은 예시로 쓸 수 있게 해주셔서 감사합니다.
노드 REPL(Node Shell)에서 한 줄씩 코드를 실행했습니다.
> var key = "fullName"; // Assignment
undefined
>
> var obj = {key: "Rishikesh Agrawani"} // Here key's value will not be used
undefined
> obj // Inappropriate, which we don't want
{ key: 'Rishikesh Agrawani' }
>
> // Let's fix
undefined
> var obj2 = {[key]: "Rishikesh Agrawani"}
undefined
> obj2
{ fullName: 'Rishikesh Agrawani' }
>
const animalSounds = {cat: 'meow', dog: 'bark'};
const animal = 'lion';
const sound = 'roar';
{...animalSounds, [animal]: sound};
결과는
{cat: 'meow', dog: 'bark', lion: 'roar'};
또한, 사용할 수 있는 유일한 조건[]
평가나 실행 시간이 되기 전까지 아직 무엇이 될지 모를 때 객체에 액세스하거나 할당하는 표기법.
물건을 만들고 싶은데 이름을 모르겠어요.key
실행 시간까지
지난 ES5일:
var myObject = {};
myObject[key] = "bar";
두 줄의 코드를 쓰는 것은 정말 고통스럽습니다.방금 ES6가 나왔습니다.
var myObject = {[key]:"bar"};
의 가치가 있다면key
대등한foo
, 그러면 두 접근 방식 모두 다음과 같은 결과를 가져옵니다.
{foo : "bar"}
언급URL : https://stackoverflow.com/questions/32515598/square-brackets-javascript-object-key
반응형
'programing' 카테고리의 다른 글
jQuery가 ID에 .(주기)가 있는 요소를 선택하도록 하려면 어떻게 해야 합니까? (0) | 2023.10.29 |
---|---|
C#와 유사한 자바스크립트의 포맷 번호 (0) | 2023.10.29 |
Vim에서 C/C++ 리팩토링(예: Eclipse에서와 같은 방법 추출) (0) | 2023.10.29 |
아이들이 가로축을 채우도록 신장시키는 방법은? (0) | 2023.10.29 |
워드프레스 메뉴-워커에서 ACF 객체 (0) | 2023.10.29 |