Today, we are going to try to understand scope in javascript.
In Javascript, Scope refers to the current context of code, which determines the accessibility of variables to javascript. Which means variables are accessible only in the environment in which they were created, and are also accessible by their children.
There are two types of scope, global and local scope.
Global scope
Global scope, it is also known as window object. It is the entire javascript execution environment.
Any variable defined in the global scope will be accessible
throughout the entire program.
Any variable assigned without an explicit scope (using the var
, let
, or const
keywords) automatically become global variables. The same is true for functions. reference
// index.js
const myName = "Mark Zuckerberg" // global scope
console.log(myName) // Mark Zuckerberg
Local scope
Local scope is also known as function scope, if you define variables inside a function, they are only accessible within that particular function, they can not be accessed outside of that function.
// index.js
function getAge() {
const myAge = 34;
console.log(myAge); // 34
}
console.log(myAge) // ReferenceError: myAge is not defined
scope chain
Javascript uses a scope chain to find variables accessible in a certain scope. Which means when a variable is referred to, Javascript will look for it in the current scope and continue to the parent scope until it reaches the global scope.
// global scope
const a = 10; // accessible to everyone
const outerFunc = () => {
var b = 20; // a and b is accessible
console.log(a, b);
const innerFunc = () => {
var c = 30; // a, b and c is accessible
console.log(a, b, c);
}
innerFunc();
}
outerFunc();
To run the codes node index.js
Thank You, please follow me
Top comments (0)