As the web transitions to ES6, developers will need to break their habit of using
var. The toolbox now contains
let, which should replace
var in all instances.
Now that that’s out there, the real question now is which to use when? TL,DR: always use
const, unless it’s a native value (number, string, null, etc.) that could change, then use
The Case Against var
Almost Always: const
Some have said that it obscures the code’s intent and can be confusing when compared to other languages. This is understandable but a counter could be var is just as confusing to new developers due to scope.
This one is the exception to the rule. There’s always values that will change, and when a primitive does, use let. Then why is it better than var since let sounds like the same thing?
The answer is because of block scope. var has function scope, whereas let has block scope or within curly braces. As I mentioned earlier, this cuts confusion and keeps the code from stepping on itself. This emulates the behavior of other popular languages.
Stop Using var
Due to some browsers being slow to put ES6 features in place, dropping the var habit may take some time. Node has these baked in, so go ahead and start implementing them there. This will not only make the code future-proof, but make it easier to understand. So my advice, don’t use var anymore.