If youβre learning JavaScript, you must understand how var
, let
, and const
behave with scope and hoisting. Letβs explore with simple examples π
β Variable Declarations
var a = 10; // global/function scope
let b = 20; // block scope
const c = 30; // block scope
console.log(a, b, c); // 10 20 30
a = 100; // valid
b = 200; // valid
// c = 300; // β invalid
console.log(a, b, c); // 100 200 30
π Key Takeaways:
-
var
β function/global scoped π» -
let
β block scoped π -
const
β block scoped, no reassignment allowed π«
β‘ Hoisting Example
console.log(x); // undefined
var x = 50;
console.log(x); // 50
π var
gets hoisted as undefined
until assigned.
π« Temporal Dead Zone (TDZ)
console.log(y); // β ReferenceError
let y = 10;
Even though let
and const
are hoisted, they live in the Temporal Dead Zone until declared.
π Recap
β
Prefer let
& const
in modern JavaScript.
β
Avoid var
unless you know the quirks.
β
Understand hoisting to debug smarter.
π‘ Whatβs your biggest confusion about scope & hoisting? Letβs discuss in the comments π
Top comments (0)