上QQ阅读APP看书,第一时间看更新
3.2 块作用域构造let和const
块级声明用于声明在指定块的作用域之外无法访问的变量。这里的块级作用域是指函数内部或者字符{}内的区域。
在ES6中,let是一种新的变量声明方式。在函数作用域或全局作用域中,通过关键字var声明的变量,无论在哪里声明,都会被当成在当前作用域顶部声明的变量。
以上代码结果将返回1000,这是一个bug。在ES6中,用let限制块级作用域,而var限制函数作用域。
程序结果将会是0,因为块作用域中有了let,如果amount=l,那么这个表达式将返回1。本例是一个演示,这里有一堆常量,它们互不影响,因为它们属于不同的块级作用域。
JavaScript中的var只能声明一个变量,这个变量可以保存任何数据类型的值。ES6之前并没有定义声明常量的方式,ES6标准中引入了新的关键字const来定义常量。
使用const定义常量后,常量将无法改变,const常量的用法说明如下。
1.const常量,只能一次赋值
2.对象常量
对象的属性可以修改,对象的引用不能修改:
3.冻结对象
防止修改对象的属性: