What is hoisting in JavaScript?

Hoisting means that declarations are moved to the top of their scope before the code runs.

console.log(x);   // undefined (var is hoisted, value is not)
var x = 5;

sayHi();           // works: function declarations are fully hoisted
function sayHi() {
  console.log("Hi");
}

Output:

Tutorials Class - Output Window

undefined
Hi

let and const are hoisted too, but using them before the declaration throws a ReferenceError (the temporal dead zone). See JavaScript Scope.


Learn more about the similar topics:
Tutorials
No Content Found.
Exercises & Assignments
No Content Found.
Interview Questions & Answers
No Content Found.