javascript

Differences Between var, let and const.

Var Declaration

Before the introduction of ES6 in 2015, var was the go-to way to declare variables in Javascript.

Example:

var a;
a = 5;
console.log(a) //5

But because variable declarations are processed before any code is executed, declaring a variable anywhere in the code is equivalent to declaring it at the top.

This also means that a variable can appear to be used before it is declared.

This behaviour is called “hoisting.”

Example

console.log(bar); //undefined
var bar = 22;
console.log(bar) //22
bar = 33;
console.log(bar) //33

Let Declaration

“let” is one of the ES6 additions to Javascript.

When you use this type of declaration, you are saying you want the variable to be reassigned but not to be redeclared.

Example:

let a = 3;
console.log(a) //3
let a = 5;
console.log(a) //Identifier 'a' has already been declared

//But if we reassign like so
a = 6;
console.log(a) //6

Const Declaration

‘const’ is also an ES6 addition.

When you use const to declare a variable, you are saying that you don’t want that variable to be reassigned or be redeclared.

Example:

const a = 33;
console.log(a) //33
const a = 34;
console.log(a) //Identifier 'a' has already been declared

//Even if we reassign
a = 35;
console.log(a) //Assignment to constant variable

In Summary …

  1. A var type variable declaration can be both be redeclared and reassigned.
  2. A let type declaration can only be reassigned but not redeclared.
  3. A const type declaration can neither be redeclared or reassigned.

Recent Posts

10 Signs Your PC Has Been Hacked

Cybercriminals don't always announce their presence. Many compromises are designed to remain unnoticed for weeks…

5 hours ago

What Killed jQuery?

For years, jQuery was everywhere. If you were building websites in the 2010s, there was a…

15 hours ago

How to Resolve Git Merge Conflicts

Few things halt a developer’s flow faster than seeing the dreaded word: CONFLICT. A Git merge…

5 days ago

How to Create REST APIs in Java Spring Boot

Spring Boot is one of the most popular frameworks for building REST APIs in Java.…

5 days ago

Perks of Being a Copy-Paste Developer

Why borrowing code is a skill—when you understand what you're copying. For years, "copy-paste developer"…

3 weeks ago

Conditionally Disable an Input Field Using React Hook Form

Interactive forms rarely keep every field active all the time. Sometimes an input should only…

3 weeks ago