Explica este código JavaScript
Dificultad: Intermedio
const gato = {
id: 3,
nombre:"Michi",
emoji: "😺",
saludar(){
return "Hola " + this.nombre
},
}
console.log(gato.despedirse?.())
console.log(gato.despedirse())
A. TypeError: gato.despedirse is not a function
B. SyntaxisError
y undefined
C. undefined
y undefined
D. undefined
y TypeError: gato.despedirse is not a function
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
D.
undefined
yTypeError: gato.despedirse is not a function
El operador
?.
o encadenamiento opcional es usado en javascript por ejemplo para evitar el programa deje de funcionar si encuntra alguna inconsistencia.En el ejemplo intentamos llamar al método
despedirse
del objetogato
pero dicho método no existe.Al usar el encadenamiento opcional de la siguiente manera
gato.despedirse?.()
podemos estar seguros que si el método no existe entonces javascript nos lance unundefined
y no ningún tipo de error que haga que la ejecución del programa se inerrumpa.Cuando lo llamamos de la manera tradicional
gato.despedirse()
el interprete nos lanza unTypeError: gato.despedirse is not a function
porque claramentedespedirse
no existe en el objetogato
.