Estaba trabajando en un boletín JS que tenía un pequeño cuestionario sobre cuál sería el resultado del siguiente programa:
window.name = "Mike Tyson"; const me = { name: "Tyler", sayName(): { console.log(this.name); }, }; const sayName = me.sayName; sayName();¿Por qué esta impresión "Mike Tyson" en lugar de "Tyler"? Cuando establecí una variable (sayName) igual a un método de objeto, pensé que la variable estaría haciendo referencia a la variable de nombre dentro del objeto en el que está definida, ya que cerraría su alcance léxico incluso cuando se llamara fuera de él (puede confirmarme. sayName() imprime "Tyler").
Mi comprensión de las variables que hacen referencia a objetos y funciones debe ser incorrecta