变量声明
JavaScript 提供了三种声明变量的方式:var
、let
和const
。
var
是 ES5 提供的声明变量的方式,已不再推荐使用。let
和const
是 ES6 引入的声明变量的方式。
var
使用var
声明的变量具有函数作用域,会被提升到作用域的顶部。如果在声明之前使用变量,会得到undefined
。
并且如果在同一个作用域内多次声明同一个变量,后面的声明会覆盖前面的声明。这往往会导致不易发现的编程错误,因此不推荐使用var
。
let
使用let
声明的变量具有块级作用域(即在{}
内有效),并且只能在声明之后使用,不能重复声明,有助于减少编程错误。
const
const
声明的变量同样具有块级作用域,并且必须在声明时赋值,赋值后不可修改,进一步提升变量使用的安全性,因此应该尽可能使用const
声明变量。