Scopes
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:
1234567891011function exampleFunc() { if(10 + 10 == 20) { let exampleVariable = 10; console.log(exampleVariable); // Valid } console.log(exampleVariable); // Shows error } exampleFunc(); console.log(exampleVariable); // Shows error
Thanks for your feedback!
Ask AI
Ask AI
Ask anything or try one of the suggested questions to begin our chat
Can you explain the difference between global and local scope in more detail?
Why does accessing a local variable outside its block cause an error?
Can you give more examples of variable scope in JavaScript?
Awesome!
Completion rate improved to 1.33
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:
1234567891011function exampleFunc() { if(10 + 10 == 20) { let exampleVariable = 10; console.log(exampleVariable); // Valid } console.log(exampleVariable); // Shows error } exampleFunc(); console.log(exampleVariable); // Shows error
Thanks for your feedback!