CodeNewbie Community

loading...
Cover image for Let vs Var vs Const

Let vs Var vs Const

Sankalp Swami
Self Learnt Node JS Developer from India
・3 min read

JAVASCRIPT is the new Boss in the Industry. Javascript says nothing is impossible.
Javascript is having many frameworks like Vue, Angular and libraries like React for frontend Development and at the same time it can even tackle Backend Development using Node JS. And recently there is also a new buzz for Machine Learning with Javascript.
Watching someone writing Javascript is as soothing as watching these two -
chandler & joe hug

LET

Let statement is block-scoped and not a Global scope local variable used for initializing a statement. This statement can be used in function as it is function-scoped and one of the main character of let statement is that it can be reassigned.

let name = "Sankalp";
name = "Sankee";
console.log(name); // will print: Sankee
Enter fullscreen mode Exit fullscreen mode

VAR

Var statement is also used for variable declaration and it is Global scoped variable. Variable declared with var is defined throughout the program.Var is defined throughout the function but not if its declared in a block as it is not block-scoped.

if (true) {
var firstName = 'Sankalp'
let age = 18
}
console.log(firstName) // Will print: Sankalp
console.log(age) // Will print: ReferenceError
Enter fullscreen mode Exit fullscreen mode

Var statement can be reassigned.

var name = 'Sankalp'
name = 'sankee'
console.log(name) // will print: sankee
Enter fullscreen mode Exit fullscreen mode

CONST

When we declare a variable with let, we can reassign its value later on. Thats great but what if we dont want to reassign its value, for those, we have const. Const is function-scoped and block-scoped and it is not defined throughout the program as it is not global-scoped. If you try to reassign const variable it will throw a type error.

const name = 'Sankalp';
name = 'Sankee'
console.log(name) // will print: TypeError
Enter fullscreen mode Exit fullscreen mode

const variables in objects and arrays.
You cannot overwrite an object but yes you can change its properties.

const person = {
  name: "Sankalp",
  age: 18,
};

person = {
  name: "Sankee", //  this will throw TypeError
};
Enter fullscreen mode Exit fullscreen mode

reassigning a value of keys is possible as mentioned

const person = {
  name: "Sankalp",
  age: 18,
};

person.name = "Sankee";
console.log(person.name); // will print: Sankee
Enter fullscreen mode Exit fullscreen mode

In arrays, you cannot assign an array to a const variable.

const list = [];

list = ["abc"]; // will throw TypeError
Enter fullscreen mode Exit fullscreen mode

But you can push items to the array.

const list = [];

list.push("ABC");
console.log(list); // will print: ['ABC]
Enter fullscreen mode Exit fullscreen mode

Hoisting

Variables declared with var can be accessed even before they are declared. The reason for this behaviour is that they are hoisted up to the top of the scope. When you declare some variable without any statement it gets declared as var automatically.

name = "sankee" // defaults to var
console.log(name) // Will print: sankee
Enter fullscreen mode Exit fullscreen mode

Final Verdict

Var variable is something I will not recommend to use as it is not used in the Industry. Let and Const are the one which you will be using. choosing them is easy as if you want to reassign its value use let and if you are then got for const variable.

🙌SUPPORT

Buy Me A Coffee

Getting strong with the fundamentals is the only path to Glory.
Wish you very all the Best, Keep Practicing, Peace..
Joey & Chandler

Discussion (0)