Hoisting
It is a behaviour of moving variable or function declaration to the top of their environment.
Last updated
It is a behaviour of moving variable or function declaration to the top of their environment.
Last updated
JavaScript engine looks for the var and function key as a first word's in the line of the environment, it allocates the memory var and functions in its creation phase.
It moves the var and function to the top of the environment on creation phase.
The variables will be partially hoisted, that means the variable is created in top as a undefined variable, but functions are fully hoisted, means complete function is moved to the top.
EX:
Note: let and const will not be hoisted.
Actual Code
Hoisted code
console.log(text); // undefined
greet(); // hello
console.log(greet2); // undefined
console.log(greet2()); // Type Error: greet2 is not a function
var text = ‘welcome’;
function greet() {
console.log(‘Hello’);
}
var greet2 = function() {
console.log(‘Hello2’);
}
var text = undefined;
var greet2 = undefined;
function greet() {
console.log(‘Hello’);
}
console.log(text); // undefined
greet(); // hello
console.log(greet2) // undefined
console.log(greet2()) // Type Error: greet2 is not a function
var text = ‘welcome’;
var greet2 = function() {
console.log(‘Hello2’);
}