在ES5中,声明变量只有var和function两种形式。但是因为var声明的变量会有一定的缺点,于是ES6提出了使用let和const声明变量,弥补了ES5中var的缺点。
一.var (属于函数作用域)
1.var声明的变量存在变量提升。
2.var允许重复声明变量。
3.var不存在块级作用域。
4.var能修改声明的变量。
二、let(属于块级作用域)
1.let不存在变量提升。
2.let存在暂时性死区。
3.let在同一作用域不允许重复声明变量。
4.let存在块级作用域。
5.let能修改声明的变量。
三、const(属于块级作用域)
1.const不存在变量提升。
2.const存在暂时性死区。
3.const在同一作用域不允许重复声明变量。
4.const存在块级作用域。
5.const声明一个只读的常量,一旦声明,常量的值就不能改变。
本文介绍了ES5及ES6中变量声明方式的变化,包括var、let和const的区别与特性,如变量提升、作用域规则等。
693

被折叠的 条评论
为什么被折叠?



