Переменная как имя свойства в литеральном объекте JavaScript?

Возможный дубликат:
Как добавить свойство в объект Javascript с использованием переменной в качестве имени?
Использовать переменную для имени свойства в литературе JavaScript?

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

var myVar = "name";
var myObject = {
    {myVar}: "value"
};

Ответ 1

Синтаксис [] можно использовать в качестве имени свойства (по сравнению с синтаксисами .prop и prop: value, где они всегда рассматриваются как строки):

var myObject = {};
var myVar = "name";
myObject[myVar] = "value";

Однако невозможно использовать это внутри объектного литерала. Сначала необходимо создать объект, а затем назначить каждое свойство отдельно.


Изменить

С ES6 это теперь возможно с помощью ComputedPropertyName, который проявляется в форме следующего синтаксиса:

var myVar = "name";
var myObject = {
    [myVar]: "value"
};

Ответ 2

Как это?

var myVar = "name";
var myObject = {};

myObject[myVar] = "value";

Ответ 3

Да, но не напрямую.

var myVar = "name";
var object = {};
object[myVar] = "value";