¿Cómo obtener el valor de la clave a y 'a' en javascript?Cómo obtener el valor de la clave a y 'a' en javascript
var obj = {a:1,'a':2}
¿Cómo obtener el valor de la clave a y 'a' en javascript?Cómo obtener el valor de la clave a y 'a' en javascript
var obj = {a:1,'a':2}
La primera clave a
se sobrescribirán por el segundo 'a'
.
obj.a
volverá 2.
Si su nombre clave es un identificador válido Javascript o un número, Javascript le permitirá omite las comillas en los nombres clave. En la práctica, sin embargo, es mejor entrenarse para usar siempre las comillas, para evitar confusiones como esta, y también porque JSON las requiere.
No hay ninguna diferencia.
alert([
obj.a,
obj['a']
].join("\n")); // returns 2 in both cases
No puede - son la misma clave, y ese inicializador creará un objeto con un único elemento 'a' con el valor '2'. Prueba esto:
var obj = {a:1,'a':2};
for (var i in obj)
{
alert(i + '=' + obj[i]);
}
Y vas a tener "a = 2' en respuesta
Si no está seguro acerca de clave - utilizar iteración
for(var k in obj)
alert(k + "=" + obj[k])
Cuando se conoce el valor exacto clave. use obj [k]
obviamente, 'a'
es la cadena de un carácter con una minúscula a como contenido; pero ¿qué esperas que sea la otra clave? si quieres que sea el valor de una variable llamada a
, entonces la sintaxis de llaves no te servirá. A diferencia de Python, esta sintaxis supone que las claves son cadenas y las comillas son opcionales.
Habría que hacer algo como esto:
var a = 'givenkey'
var obj = {}
obj[a] = 1
obj['a'] = 2
Esto crearía un objeto equivalente a:
var obj = {'givenkey':1, 'a':2}