DEV Community

HandsomeTan
HandsomeTan

Posted on

Javascript - difference between var, let, and const

In the early days, var keyword is used usually to define a variable, but it would bring some troubles, such as variable obfuscation and memory leaks about variable, firstly, let's learn about variable scope in Javascript:
there are only global and local scopes in Javscript before ES6 and thease are distinguished by function region. variables defined within a function are local and external variables are global. Variables defined by var are declared at the top of their scope in advance and assigned the value underfined regardless of where they are declared. Finally, variable lookup is bottom-up, so variables within a function cannot be accessed by the functions.

After ES6, let and const keyword appeared while block scope was introduced. Block scope is differentiated by { }, so if, for, while, etc all have their own block scope, but must use let, const keyword declared variables and var hasn't block scope yet. At the same time, let, const haven't also hoisted-variable as var do.

Top comments (0)