Explica este código JavaScript
const info = {
[Symbol('a')]: 'b'
}
console.log(info)
console.log(Object.keys(info))
- A:
{Symbol('a'): 'b'}
y["{Symbol('a')"]
- B:
{}
y[]
- C:
{ a: "b" }
y["a"]
- D:
{Symbol('a'): 'b'}
y[]
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
D:
{Symbol('a'): 'b'}
y[]
Una variable de tipo
Symbol
cumple con 3 caracteristicas principales:El primer
console.log
imprime el objeto en su totalidad, incluyendo los valores no enumerables, por ello podemos ver lakey
de tipoSymbol
y su valor unstring
con valorb
.Al intentar obtener las
keys
del objeto conObject.keys
obtendremos un arreglo vacio justamente por que elSymbol
no es un elemento que se pueda enumerar, de esta manera es posible "ocultar" ciertas propiedades de un objeto.