DEV Community

Cristian Fernando
Cristian Fernando

Posted on

Paracetamol.js💊| #106: Explica este código JavaScript

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())
Enter fullscreen mode Exit fullscreen mode

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)

Collapse
 
duxtech profile image
Cristian Fernando

Respuesta:
D. undefined y TypeError: 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 objeto gato 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 un undefined 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 un TypeError: gato.despedirse is not a function porque claramente despedirse no existe en el objeto gato.