¿Por qué se refiere a un objeto global en cierre en JavaScript?

Sí, con tu comentario entiendo lo que quieres decir 🙂

Entonces, este no es tanto problema de cierres, sino más bien un problema con el contexto. Estoy de acuerdo en que “esta” palabra clave se comporta de forma poco intuitiva. Hablemos de eso.

En palabras simples …

El contexto es un “objeto” con el que puede trabajar (actualizarlo, eliminarlo, etc.) con métodos. Es referenciable

El alcance es un objeto abstracto. No puede llamar a “scope.property” porque el alcance es solo un espacio asignado en la memoria, al que no puede hacer referencia directamente.

Al adjuntar una función a un objeto, dentro de esa función “esto” es un objeto al que se adjunta la función.

Si declara una función y no la vincula directamente a un objeto, su contexto es un objeto “global” (también conocido como ventana).

Por ejemplo, en su comentario, la función interna simplemente está flotando dentro de un alcance de la función externa, pero no está “adjunta” (la palabra correcta está vinculada) a ningún objeto.

¿Es esta respuesta suficiente para ti? Si no, recomendaría JavaScript: Comprender las partes extrañas: las primeras 3.5 horas