When should you use let over var? And why? Let's find out!
const. It guarantees the value can’t be reassigned, and so it’s safer to use.
But when I do need to redeclare a variable later on, I always use
I haven’t used
var in years, and to me it’s just there for backwards compatibility purposes, and I always raise an eyebrow when I see it used.
let has sensible scoping.
The same scoping that is used in more or less all popular programming languages, block scoping, dictates that variables declared using
let are scoped to the nearest block.
var instead is a bit more weird, as it has function scoping, which means that variables declared using
var are scoped to the nearest function.
This has practical implications. For example, a variable is declared inside an
if or used as the
for loop iterator. Using
let makes it local to those 2 blocks. Using
var, however, allows the variable to be available outside of that block, which might lead to bugs.
Always use the tool that gives you the least amount of power, to make sure you have maximum control over it. With great power comes great responsibility.
Another reason to prefer
let is hoisting. Like
let variables are not hoisted, but they are initialized when evaluated.
var variables instead are hoisted to the top of the function, and as such they are available even in the lines before their declaration. Weird, right?
Third reason: when you declare a
let variable with the same name as one that already exists, you get an error (in Strict Mode).
Finally, another big difference: if you declare a
var variable outside of any function, it’s assigned to the global object, which means
window inside the browser.
let does not work in this way; the variable is available, but not attached to the global object, and so it’s not reachable from outside of your file.
THE VALLEY OF CODE
THE WEB DEVELOPER's MANUAL
You might be interested in those things I do:
- Learn to code in THE VALLEY OF CODE, your your web development manual
- Find a ton of Web Development projects to learn modern tech stacks in practice in THE VALLEY OF CODE PRO
- I wrote 16 books for beginner software developers, DOWNLOAD THEM NOW
- Every year I organize a hands-on cohort course coding BOOTCAMP to teach you how to build a complex, modern Web Application in practice (next edition February-March-April-May 2024)
- Learn how to start a solopreneur business on the Internet with SOLO LAB (next edition in 2024)
- Find me on X