const
“const” has to be initialised.
const n1 = 20;
console.log(n1)
once you have assigned, you cannot reinitialise.
// Will throw error
const n2;
console.log(n2)
“const” can be scoped into blocks
const n1 = 20;
if(n1<=20){
const n3 = 9;
console.log(`n3 : ${n3}`)
}
console.log(`n1 : ${n1}`)
// Will throw error if you uncomment this line
// console.log(`n3 : ${n3}`)
“const” content can be modified
-> If I assign it as an object, JavaScript does not care if you change the object. All it cares about is whether it is an object or not. Do not change it to a number or string. You can now update or change the inside of an object.
const movie = { "title" : "Avengers" }
// will throw error
// const movie = 10;
// But changing inside object is fine
movie.title="test"
movie.year=100
movie.genre="Action"
console.log(movie)
you cannot do initialization in any of the ways
const n=1
n++ or n=n+1 or n=19
you cannot do loop with “const”
for(const i=0 ; i<10 ; i++)
{
console.log(i)
}
// will throw error at i++ at first time
let
let follow the same rule as const except it can be assigned and left uninitialised.
let n;
n=10;
n=[]
n={}
n="StringHere"
console.log(n)
you can always do loop with let
// will run perfectly
for(let i=0 ; i<10 ; i++)
{
console.log(i)
}
the value of undefined let variable is undefined
let x;
console.log(x) // check console => x --> undefined
var
A classical way to initialise Javascript variables. The awful thing about var is It is expensive to manage in the browser.
Look at that! Right there, so the window will become this
Global object which already exist in the browser and any var variable will attach itself to this thing. You can imagine with a thousand variables later, you can attach yourself to this or stop, so it’s a security problem and it is taking an unnecessary memory.
Answer of the above question :
→ Always use const use let when you need to reassign variables.
→ And avoid using var.
→ We need to clear things up, like that we should always use const. If you need to reassign the value to the reserved variable, use let Otherwise, never use var, and in my programming experience with JavaScript till now, I’ve noticed that I barely use let, like only in loops. Otherwise, it’s constantly happening const.
Yes, if you require anything really, just use const all the time because of the optimisation.
Check GitHub for code : Click Here
Top comments (5)
I'll be a nerd for a bit, you don't have to listen to me.
I don't think you fully understand var. It has functional scoping, and if you declare it globally, it will be in the global object. But... in this case, your problem is in the clean code, not in the var definition.
Also, var works more efficiently with memory, since it does not allocate a new point in each block. Although it's not significant.
I would also advise you to change - "“const” content can be modified". It has nothing to do with the const definition.
"you cannot do initialization in any of the ways" and "you cannot do loop with “const”" are the same as "once you have assigned, you cannot reinitialise." :)
Global scope (var) may or may not become an issue if you accidentally changed already declared variable in some block and forgot about it or your code is huge to even be aware of this effect. Completely agree with Sergei
💯
yup @xr0master thank you that you have shared your view. But the only thing i tried to explain is var variables are scoped to the immediate function body (hence the function scope) while let variables are scoped to the immediate enclosing block denoted by { }. That’s why programmer avoid using var.
I have answered the question based on real-time experience that I have had.
Using const makes it easier to read the code because you know that the value won't change magically somewhere