Var, Let, Const: are all the same, aren't they?
TL;DR: Choose wisely your variable names, scope, and mutability.
Problems
Readability
Solutions
- Declare const all variables unless you need to change them
Context
Most languages don't need variable declarations.
Some other languages allow us to state mutability.
We should be strict and explicit with our declarations.
Sample Code
Wrong
var pi = 3.14
var universeAgeInYears = 13.800.000.000
pi = 3.1415 // no error
universeAgeInYears = 13.800.000.001 // no error
Right
const pi = 3.14 //Value cannot mutate or change
let universeAgeInYears = 13.800.000.000 //Value can Change
pi = 3.1415 // error. cannot define
universeAgeInYears = 13.800.000.001 // no error
Detection
[X] Manual
With mutation testing by forcing a 'const' declaration, we can check if a value remains constant and be more declarative by explicitly enforcing it.
Tags
Mutability
Javascript
Conclusion
Readability is always very important.
We need to explicitly state our intentions and usages.
Relations
Code Smell 86 - Mutable Const Arrays
Maxi Contieri ・ Aug 25 '21
More Info
Credits
Just as it is a good practice to make all fields private unless they need greater visibility, it is a good practice to make all fields final unless they need to be mutable.
Brian Goetz
Software Engineering Great Quotes
Maxi Contieri ・ Dec 28 '20
This article is part of the CodeSmell Series.