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.
undefinedyTypeError: gato.despedirse is not a functionEl 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
despedirsedel objetogatopero 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 unundefinedy 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 functionporque claramentedespedirseno existe en el objetogato.