这是es6入门的两个新特性
首先说说作用域。
之前我们声明的时候使用var声明变量,但是var有很多特殊的属性,比如有变量提升,声明会提升到页面的最上方;比如它会重复声明并且会被重复赋值,会导致页面前后有可能重复声明了同一个变量,或者变量被重复赋值影响前后使用。
为了解决这个问题,es6新增了let语法,以一个大括号为一个局部作用域,let声明的变量只在它声明的局部作用域可以读取到,外界读取不到,并且在同一个局部作用域中,只能声明一次,但是let可以重复赋值~
还有一个特殊的声明方式是const,使用const声明的变量意境声明必须赋值,它只能被声明一次,也只能被赋值一次,没有变量提升,可以支持局部作用域。通常我们用来声明一些不变得变量~
解构赋值
结构赋值就跟看起来一样很简单,es6提供的新特性------解构,可以用来简化数据提取的过程,从对象或数组中提取数据, 并赋值给变量(多个)。
1、数组的解构赋值:等号两边结构相同就可以相对性的赋值(赋值的顺序取决于变量的位置,按位置顺序赋值)
2、对象的解构赋值:与数组的解构赋值大体相似,但是要属性名相同。
3、字符串解构赋值:等号两边的解构相同就可以相对应的赋值
4、函数的解构赋值:可以看作是对函数参数的处理。将传入的参数进行解构赋值。