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: