Відповіді:
Це новий ES2015 (специфікація EcmaScript, формально відомий як ES6), обчислюється синтаксисом імені властивості . Це скорочення для someObject[someKey]завдання, яке ви знаєте з ES3 / 5:
var a = "b"
var c = {[a]: "d"}
є синтаксичним цукром для:
var a = "b"
var c = {}
c[a] = "d"
Дійсно, використання []дає чудовий спосіб використовувати фактичне значення змінної як ключового /властивості під час створення об’єктів JavaScript .
Я в значній мірі сформульований вищезгаданою відповіддю, і я ціную це, оскільки дозволив мені написати це з невеликим прикладом.
Я виконував рядок коду за рядком у вузлі REPL (оболонка вузла).
> 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' }
>
Крім того, умова використовувати []позначення для доступу або призначення предметів в об'єктах, коли ми ще не знаємо, що це буде до оцінки або виконання.