一、let命令数组
let声明的变量只在let命令所在的代码块内有效。函数
结果:
spa
for 循环变量的部门是父做用域,循环体内部是一个单独的子做用域。因此存在下面函数对象
代表函数内部变量c与循环变量c在不一样做用域,有各自单独的做用域。作用域
暂时性死区:在区块中存在let和const命令,从一开始就造成了封闭的做用域,在声明以前就使用变量就会报错。变量
重点:强制规定,变量必定要在声明以后,才可以被使用的循环
不容许在相同做用域内,重复声明同一个变量im
块级做用域:img
该函数存在两个代码块,都声明了变量n。运行后输出5.这表示外层代码块不受内层代码块的影响。若是两次都用var,最后输出的值就是10co
二、const命令
const声明一个只读的常量,一旦声明,常量的值就不能改变。
const只声明常量不进行赋值也会报错。因此const一旦声明变量就必须当即初始化。
三、数组解构
四、对象解构
对象解构赋值的内部机制,是先找到同名属性,而后再赋给对应的变量,真正被赋值的是后者而不是前者。
解构使用圆括号只有一种状况:赋值语句的非模式部分,才可使用圆括号。