programing

대괄호 자바스크립트 객체 키

starjava 2023. 10. 29. 18:56
반응형

대괄호 자바스크립트 객체 키

자바스크립트에서 키를 할당하는 아래의 방법이 어떻게 작동하는지 누가 설명해줄 수 있습니까?

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

반응형