When I started learning JavaScript, I kept seeing the same advice: use let and const, don't use var.

Usually it came as a rule, not a reason. And a rule you don't understand is a rule you forget — so I went looking for the why.

It turns out var isn't just old-fashioned. It's broken in three specific ways, and let and const exist to fix exactly those three things.

Here they are.

Problem 1: var lets you redeclare the same variable