Existe diferencias entre declarar la propiedad de un objeto como undefined o eliminarla con el operador unario delete.
El objeto banda original no tiene la propiedad vocalista, pero lo agregamos con el valor undefined, entonces el objeto quedaria así:
constbanda={id:1,nombre:"Radiohead","tipo de musica":"Rock",albunes:["Pablo Honey","Ok Computer","In Rainbows"],vocalista:undefined};
Pese a que el valor de vocalista es undefined la propiedad existe como tal dentro del objeto, es por ello que al verificarlo con el operador in obtenemos true.
Algo diferente pasa cuando eliminamos con delete la propiedad tipo de musica, esta deja de existir en el objeto, no tiene ningún tipo de valor, ni siquiera undefined, el objeto quedaría así:
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.