ما هو Scope ؟

هو إمكانية الوصول للمتغيرات أو لموارد أخرى في منطقة التعليمات البرمجية.

ما هو Global Scope ؟

كل متغير يقع خارج Functions يسهل الوصول إليه المتغير هنا يقع ضمن Global Scope. يسهل الوصول للمتغيرات ضمن Global Scope داخل أي Function

ما هو Local Scope ؟

كل متغير يقع داخل ضمن Function هو ضمن Local Scope المتغير لا يمكن الوصول إليه إلا من داخل Function

ينقسم Local Scope إلى 3 أقسام

Function Scope :

عندما يتم الإعلان عن متغير بإستخدام الكلمة المفتاحية var فإن المتغير متاح فقط ضمن Function و لا يمكن الوصول إلى المتغير من خارج Function

Block Scope :

if condition, for & while loops كلها تعتبر Block Scope و حين الإعلان عن متغير باستخدام الكلمة المفتاحية Let أو Const فان المتغير متاح فقط ضمن هذا Block Scope

Lexical Scope :

مثلا عند إستخدام Function داخل Function فإن Function الإبن لديه الحق في الوصول إلى متغيرات Function الأب

نصيحة : إستخدم الكلمة المفتاحية Const فقط مع المتغيرات الثابتة أو مع Objects أو Arrays