Ключ объекта Javascript в квадратных скобках


109

Может ли кто-нибудь объяснить, как работает приведенный ниже метод назначения ключей в JavaScript?

a = "b"
c = {[a]: "d"}

возвращение:

Object {b: "d"}

Ответы:



27

На самом деле использование []дает отличный способ использовать фактическое значение переменной в качестве ключевого /свойства при создании объектов JavaScript .

Я в значительной степени удовлетворен приведенным выше ответом и ценю его, поскольку он позволил мне написать это с помощью небольшого примера.

Я выполнил код построчно на Node 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' }
>

6
const animalSounds = {cat: 'meow', dog: 'bark'};

const animal = 'lion';

const sound = 'roar';

{...animalSounds, [animal]: sound};

Результат будет

{cat: 'meow', dog: 'bark', lion: 'roar'};

-1

Кроме того, единственное условие - использовать []нотацию для доступа или назначения данных в объектах, когда мы еще не знаем, что это будет, до оценки или выполнения.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.