Scopes
Swipe to show menu
A Scope is simply an area in the code where a variable can be accessed or used.
There are two types of scopes:
- Global Scope;
- Local Scope.
If a variable is defined inside a block of code (between curly brackets {}), it is said to have a local scope. This means that it can only be accessed from inside that function or code block, or any nested blocks:
123456789101112function exampleFunc() { let exampleVariable = 10; console.log(exampleVariable); // Valid if(10 + 10 == 20) { console.log(exampleVariable); // Valid } } exampleFunc(); console.log(exampleVariable); // Shows error
A variable that is defined outside of any code block is said to have a Global Scope, and it can be accessed from anywhere:
123456789101112let exampleVariable = 10; function exampleFunc() { console.log(exampleVariable); // Valid if(10 + 10 == 20) { console.log(exampleVariable); // Valid } } exampleFunc(); console.log(exampleVariable); // Valid
A variable defined in a lower (nested) scope cannot be accessed from a higher (parent) scope:
function exampleFunc() {
if (10 + 10 == 20) {
let exampleVariable = 10;
console.log(exampleVariable);
// Output: 10
// The variable is defined in this block, so it is accessible here
}
console.log(exampleVariable);
// ReferenceError: exampleVariable is not defined
// The variable was defined inside the if-block and is not accessible outside it
}
exampleFunc();
console.log(exampleVariable);
// This line will never execute because the script stops after the first ReferenceError
This example contains intentional errors to illustrate how variable scope works. Running the code would stop execution after the first error, so the snippet is shown for explanation purposes only.
Thanks for your feedback!
Ask AI
Ask AI
Ask anything or try one of the suggested questions to begin our chat