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
,false
Existe diferencias entre declarar la propiedad de un objeto como
undefined
o eliminarla con el operador unariodelete
.El objeto
banda
original no tiene la propiedadvocalista
, pero lo agregamos con el valorundefined
, entonces el objeto quedaria así:Pese a que el valor de
vocalista
esundefined
la propiedad existe como tal dentro del objeto, es por ello que al verificarlo con el operadorin
obtenemostrue
.Algo diferente pasa cuando eliminamos con
delete
la 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
in
la existencia de una propiedad con la llavetipo de musica
obtenemosfalse
.