Как использовать динамическое имя ключа в объекте при создании объекта?

Я хочу использовать динамическое имя ключа при создании объекта.

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);