Scope
La portée définit la région où les noms de variables et leurs liaisons sont visibles, en deux variantes : lexicale (statique) et dynamique.
Objectif
Contrôler la visibilité et la durée de vie des variables, en évitant les conflits de noms.
Mécanisme
Portée lexicale : déterminée par la structure du code (figée à la compilation). Portée dynamique : déterminée par la chaîne d'appels (résolue à l'exécution). On distingue la portée de bloc (let/const) de la portée de fonction (var) ; les fermetures capturent la portée lexicale.
Cas d’usage
- Gestion des variables
- Compréhension des fermetures
- Isolement des noms