So in JavaScript world, in whichever way you go, you finally end up with some very basic concepts.
I skipped certain basics while learning JavaScript. Later in life, I regretted it, but then, of course, you don't repeat the same mistake twice.
So the very common and pretty basic thing you could see in JavaScript is the concept of var, let and const.
What are they? How do they differ from each other?
Simply put var, let and const are keywords within JavaScript.
All three of them are used to declare a variable. So why do we need three of them?
JavaScript is weird. You can even use a variable without initialization in JavaScript. So why take the time to write a keyword.
Now for JavaScript, there is a concept called global scope. In a simple browser where you could see JavaScript quite common, the global scope refers to the window object. And in the NodeJs module, this will be the global scope of the module.
So if you simply don't initialize a variable JavaScript looks at the global scope, even though you never even thought about scoping your variable globally.
So these keywords do matter then.
But which one to use.
var
var is function scoped, and even if you tried to call it after the initialization you get the value as undefined.
console.log(hoisted)
var hoisted
The above code will be interpreted by the engine as below:
var hoisted
console.log(hoisted)
So the output that you are going to get is simply undefined.
let
in case of let, it's all about block scoped. So everything inside a block stays inside.
Also in case of the above code, we run for var will be converted reversely, but unlike var giving you an undefined, now you'll get a reference error
const
In the case of const, it's pretty simple. you cannot re-assign values to a variable that you initialized using const. And also they are block-scoped.
So which one to use.
There are many theories and many styles. But I use let and const.
Some people do initialize with const first then upon situation were they need to re-initialize the variables, they change the code to make it initialized using let.
So which one are you going to use? I know this is pretty simple, and not much explained, but basically, this will help you get started with the weird way of JavaScript.
Thanks
Comments
Post a Comment