Литерал или выражение для создания объекта со строковым именем свойства - PullRequest
0 голосов
/ 18 ноября 2018

Следующий код создает объект, в котором имя свойства задается во время выполнения:

let pn = "xyz", ob = {}
op[pn] = 999

Есть ли способ сделать это за один шаг, в виде литерала или выражения, и избежать явного присваивания?

let pn = "xyz", ob = { <clever stuff goes in here> }

[Очевидно, я мог бы написать свою собственную функцию, но где в этом удовольствие?]

Ответы [ 2 ]

0 голосов
/ 18 ноября 2018

Вы можете определить ключ в объекте, как это

 let obj={[pn="Xyz"]:999}
 console.log(obj);
0 голосов
/ 18 ноября 2018

Как насчет использования только скобок []?

/*
// old way :)
let pn = "xyz", ob = {}
ob[pn] = 999
console.log(ob)
*/

//clever stuff goes here :)
let pn = "xyz", ob = { [pn]:999 }
console.log(ob)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...