Explica este código JavaScript
const banda = {
id:1,
nombre: "Radiohead",
"tipo de musica": "Rock",
albunes: ["Pablo Honey", "Ok Computer", "In Rainbows"]
};
banda.vocalista = undefined;
console.log("vocalista" in banda);
delete banda["tipo de musica"];
console.log("tipo de musica" in banda);
A. false, false
B. true, false
C. false, true
D. undefined, true
Respuesta en el primer comentario.
Top comments (1)
Respuesta
B.
true,falseExiste diferencias entre declarar la propiedad de un objeto como
undefinedo eliminarla con el operador unariodelete.El objeto
bandaoriginal no tiene la propiedadvocalista, pero lo agregamos con el valorundefined, entonces el objeto quedaria así:Pese a que el valor de
vocalistaesundefinedla propiedad existe como tal dentro del objeto, es por ello que al verificarlo con el operadorinobtenemostrue.Algo diferente pasa cuando eliminamos con
deletela propiedadtipo de musica, esta deja de existir en el objeto, no tiene ningún tipo de valor, ni siquieraundefined, el objeto quedaría así:Por ello al verificar nuevamente con
inla existencia de una propiedad con la llavetipo de musicaobtenemosfalse.