DEV Community

Cristian Fernando
Cristian Fernando

Posted on • Edited on

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

Explica este código JavaScript

Dificultad: Básico

const persona = {
  nombre: "Cris",
  saludo() {
    return `Hola, ${nombre}`
  }
}

console.log(persona.saludo())
Enter fullscreen mode Exit fullscreen mode

A. Hola Cris
B. Hola undefined
C. SyntaxisError
D. ReferenceError: nombre is not defined

Respuesta en el primer comentario.


Respuesta:
D. ReferenceError: nombre is not defined

Para poder acceder a una propiedad desde un método de un objeto, es necesario hacer uso de la variable especial this que apunta al contexto actual donde se ejecuta la función.

Como no especificamos que la variable nombre que necesitamos es la que esta dentro del objeto persona, javascript intentara acceder a la variable nombre desde el objeto global window y como no hay ninguna propiedad nombre en window entonces muestra ReferenceError: nombre is not defined.

Para solucionar esto, basta con usar this:

saludo() {
  return `Hola, ${this.nombre}`
}
console.log(persona.saludo()) // Hola Cris
Enter fullscreen mode Exit fullscreen mode

Top comments (0)