Restricciones en las claves de objetos en JavaScript
Podemos escribir sin comillas no todas las claves de los objetos, sino solo aquellas que satisfacen las siguientes restricciones: no pueden comenzar con un dígito y no pueden contener dentro de sí un guión, un espacio y cosas similares.
Si una cadena viola la restricción, entonces debe ponerse entre comillas. En el siguiente ejemplo, una parte de las claves no cumple con las condiciones y por eso están entre comillas:
let obj = {'1key': 'a', 'key-2': 'b', key3: 'c'};
A tales claves se puede acceder solo mediante corchetes:
console.log(obj['1key']);
console.log(obj['key-2']);
También, acceder a tales nombres mediante la propiedad del objeto conducirá a un error:
console.log(obj.1key);
console.log(obj.key-2);
Pero la tercera clave es válida, y a ella podemos acceder de ambas maneras:
console.log(obj['key3']);
console.log(obj.key3);
Se da un objeto:
let obj = {
'1a': 1,
'b2': 2,
'c-c': 3,
'd 4': 4,
'e5': 5
};
¿Para qué claves de este objeto las comillas son obligatorias, y para cuáles no?
Corrija los errores cometidos en el siguiente código:
let obj = {
'1a': 1,
'b2': 2,
'c-c': 3,
'd 4': 4,
'e5': 5
};
console.log(obj.1a);
console.log(obj.b2);
console.log(obj.c-c);
console.log(obj.d 4);
console.log(obj.e5);