¿Es el entorno léxico y el alcance en javascript una y la misma cosa?Entorno léxico y alcance de la función
Respuesta
Esto es lo que la especificación dice acerca de lexical environments:
A léxico medio ambiente es un tipo de especificación utilizada para definir la asociación de identificadores para variables específicas y funciones basadas en la estructura de anidación léxica de código ECMAScript. Un entorno léxico consiste en un registro de entorno y una referencia posiblemente nula a un entorno léxico externo.
Basado en eso, yo diría que sí, de eso es de lo que la gente suele hablar cuando dice "alcance".
Aunque probablemente podría argumentar que un "ámbito" en realidad se define como un "Declarative Environment Record":
Cada registro entorno declarativo se asocia con un alcance del programa de ECMAScript que contiene declaraciones de variables y/o función. Un registro de entorno declarativo vincula el conjunto de identificadores definidos por las declaraciones contenidas dentro de su alcance.
Si piensa en un "alcance" como algo que contiene enlaces entre identificadores y valores, entonces la 2da definición probablemente se ajuste mejor. Si piensas que es algo que conoce sus antecesores, entonces la primera definición se ajusta mejor.
Editar: y una tercera opción es "Execution Context".
Entorno léxico es el entorno de la función donde está escrito. Es decir, el orden/lugar estático donde está situado, independientemente de dónde se llame.
El alcance de una variable/función es básicamente las ubicaciones desde donde una variable es visible/accesible.
El contexto de ejecución es el estado de la pila de ejecución en cualquier punto durante el tiempo de ejecución. Ese es el contexto de ejecución actual.
- 1. ¿Cómo se implementa el Alcance léxico?
- 2. ¿Cuáles son las distinciones entre alcance léxico y estático?
- 3. jQuery y la función alcance
- 4. Pregunta de ejemplo de JavaScript: alcance/cierre léxico - Eloquent Javascript
- 5. ¿Es posible tener un tiempo real difícil con alcance léxico?
- 6. Alcance de Lisp común (dinámico frente a léxico)
- 7. JavaScript alcance cláusula catch
- 8. ¿Cuál es la diferencia entre el alcance léxico y dinámico en Perl?
- 9. ¿Por qué los métodos ruby no tienen alcance léxico?
- 10. pragmas de ámbito léxico
- 11. Alcance variable fuera de la función jQuery
- 12. Python - análisis léxico y tokenización
- 13. Alcance de la función declarada dentro de una función
- 14. Alcance de la función anónima pasada como argumento de función
- 15. función javascript alcance
- 16. Además de las funciones de primera clase y el alcance léxico, ¿qué comparte JavaScript con las implementaciones de Scheme?
- 17. Alcance de variable de entorno basado en directorio: ¿cómo implementarlo?
- 18. Alcance y alcance en rieles
- 19. Necesito un final de acción de alcance léxico que pueda morir normalmente
- 20. ¿Qué significa el término "léxico" en C++?
- 21. ¿Obtener alcance de llamada en una función de PHP?
- 22. extraña función de Python comportamiento alcance
- 23. Alcance de malloc utilizado en una función
- 24. Obtener el alcance de la función que llama
- 25. Diccionario API (léxico)
- 26. alcance JavaScript y el cierre
- 27. Cómo acceder a la función delphi en el alcance DPR
- 28. Alcance variable: este.remove no es una función
- 29. Función PHP use() para el alcance?
- 30. ¿Cierres y alcance dinámico?
La segunda definición se refiere a un "alcance", por lo que no puede ser una definición de "alcance" en sí. – OrangeDog
Sí, puede. La pregunta es sobre el alcance de "programación". La segunda definición usa la definición "normal" (diccionario si se quiere) en inglés de la palabra alcance. – zenw0lf