Как использовать динамическое имя ключа в объекте при создании объекта?
Я хочу использовать динамическое имя ключа при создании объекта.
var myKey = 'text';
var myObj = {
[myKey]: 'Hello' // not working
};
alert(myObj.text);
Я знаю, что вы можете сделать это на следующей строке после создания объекта myObj[key] = 'someValue'
, но мне было любопытно делать это, когда вы создаете объект.
Есть множество подобных вопросов об этом, но все они делают это после того, как объект был создан с использованием []
нотации.
1 ответ
Стоит ли экономить одну строчку? Я думаю, если вы действительно хотите быть счастливым, вы можете сделать это:
var myKey = 'text';
var myObj = JSON.parse( '{"' + myKey + '": "Hello"}' );
alert(myObj.text);
Я бы на самом деле просто объявить объект и установить ключ
var myKey = 'text';
var myObj = {};
myObj[myKey] = "Hello";
alert(myObj.text);