Explica este código JavaScript
Dificultad: Básico
const persona = {
nombre: "Cris",
saludo() {
return `Hola, ${nombre}`
}
}
console.log(persona.saludo())
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
Top comments (0)