Explica este código JavaScript
const nombre = Symbol("primer nombre");
const apellido = Symbol("apellido paterno");
const persona = {
id: 1,
[nombre]: "Cristian",
[apellido]: "Villca",
peso: 82,
estatura: 180,
};
console.log(Object.keys(persona)); //?
A. [ 'id', 'peso', 'estatura' ]
B. [ 'id', 'nombre', 'apellido', 'peso', 'estatura' ]
C. [ 'nombre', 'apellido' ]
D. Ninguno de los anteriores
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
A.
[ 'id', 'peso', 'estatura' ]
Las variables de tipo
symbol
son relativamente nuevas y tienen peculiaridades muy interesantes, una de ellas es la creación de propiedades ocultas o privadas dentro de los objetos.Por este motivo las propiedades
nombre
yapellido
no se muentran al ejecutarObject.keys(persona)
, esto puede ser de mucha útilidad para no contaminar nuestros objetos de manera arbitraria y poder tener un código mas profesional y limpio en nuestros desarrollos aprovechando las últimas caracteristicas del lenguaje.Por si te lo preguntabas, ¿entonces como podemos acceder a las propiedades que son
symbol
dentro de los objetos? Podemos hacer esto: