¿Variable como nombre de propiedad en un literal de objeto JavaScript? [duplicar]
Posible duplicado:
¿Cómo agrego una propiedad a un objeto Javascript usando una variable como nombre?
¿Usar variable para el nombre de la propiedad en el literal de JavaScript?
¿Es posible agregar una variable como nombre de propiedad de un objeto en JavaScript, así:
var myVar = "name";
var myObject = {
{myVar}: "value"
};
Aceptado
Editar
Con ES6, esto ahora es posible usando ComputedPropertyName , que se manifiesta con la siguiente sintaxis:
var myVar = "name";
var myObject = {
[myVar]: "value"
};
Puede utilizar la []
sintaxis para utilizar una expresión como nombre de propiedad (en comparación con las sintaxis .prop
y prop: value
donde siempre se tratan como cadenas):
var myObject = {};
var myVar = "name";
myObject[myVar] = "value";
Sin embargo, no hay forma de usarlo dentro de un objeto literal. Primero debe crear el objeto y luego asignar cada propiedad por separado.
¿Como esto?
var myVar = "name";
var myObject = {};
myObject[myVar] = "value";
Sí, pero no directamente.
var myVar = "name";
var object = {};
object[myVar] = "value";