Loading lesson path
Formula
Scope = Visibility(visibility) of variables. JavaScript variables have 3 types of scope:
(outside any block or function) have Global Scope. Global variables can be accessed from anywhere in a JavaScript program.
Variables declared with var, let and const are quite similar when declared outside a block.var x = 1; // Global scope let y = 2; // Global scope const z = 3; // Global scopeA variable declared outside a function, becomes GLOBAL.
let carName = "Volvo";
// code here can use carName function myFunction() {// code here can also use carName
}All scripts and functions in the same web page can access a variable with global scope.Each JavaScript function have their own scope. Variables defined inside a function are not accessible (visible) from outside the function.
Variables declared with var, let and const are quite similar when declared inside a function.function myFunction1() {
var carName = "Volvo"; // Function Scope
}
function myFunction2() {
let carName = "Volvo"; // Function Scope
}
function myFunction3() {
const carName = "Volvo"; // Function Scope
}Variables declared within a JavaScript function, are
to the function:
// code here can NOT use carName function myFunction() {
let carName = "Volvo";// code here CAN use carName
}// code here can NOT use carName
They can only be accessed from within the function No scripts or functions outside the function can access them Variables with the same name can be used outside the function Variables with the same name can be used in different functions Local variables are created when a function starts Local variables are deleted when the function is completed Arguments (parameters) work as local variables inside functions
ES6, JavaScript variables could only have
Function Scope. ES6 introduced two important new JavaScript keywords:
let and const.Block Scope in JavaScript.
Variables declared with let and const inside a code block are "block-scoped," meaning they are only accessible within that block.This helps prevent unintended variable overwrites and promotes better code organization:
{
let x = 2;
}// x can NOT be used here
Variables declared with the var keyword can NOT have block scope.
Variables declared with the var keyword, inside a { } block; can be accessed from outside the block.Example (Not Recommended)
{
var x = 2;
}// x CAN be used here