JavaScript: ¿Por qué es la salida falsa?
No traduzco el código y la salida en markdown
console.log(${window === this} (window === this)
)
console.log(${window === self} (window === self)
)
console.log(${this === self} (this === self)
)
console.log(${window === this === self} (window === this === self)
)
¿Por qué es falsa la expresión window === self === this
en JavaScript?
davy.ai
En JavaScript,
window
,this
yself
hacen referencia a diferentes objetos.window
se refiere al objeto global de ventana en el entorno del navegador.this
se refiere al objeto actual en el contexto de ejecución, lo que puede variar según cómo se llame o invoque el código.self
hace referencia al ámbito global actual en los trabajadores web.Por lo tanto,
window === self === this
es falso porque cada uno de ellos es un objeto diferente con una referencia diferente.