ES6重点
块级作用域
let const 再大括号中才会声明的变量;大括号产生的作用域才叫块级作用域;没有变量提升, 先声明在使用;暂时性死区,绑定在那个块级作用域。
let 赋值的值是可以更改的,const声明的常量必须赋值而且不可更改对于简单的数据类型不可更改,但是对于复杂类型可以更改里边的内容,如数组和对象可以更改但是不能从新赋值。
对于复合类型的变量,如数组和对象,变量名不指向数据,而是指向数据所在的地址。const命令只是保证变量名指向的地址不变,并不保证该地址的数据不变,所以将一个对象声明为常量必须非常小心。
声明对象类型使用 const,非对象类型声明选择 let;以后声明变量使用 let 就对了;
解构赋值
允许从数组中提取值,按照对应的位置,对变量赋值,对象也可以实现解构 ,解构不成功会返回undifined;
对象解构:是属性匹配;将属性进行匹配;属性值必须一致。,可以添加属性别名。
箭头函数
将箭头函数赋值给一个变量,再来调用,用来简化函数的结构。大括号在一定条件下是可以省略的,当形参只有一个是小括号也可以省略。
箭头函数的this指向:没有this属性;箭头函数 this 指向声明时所在作用域下 this 的值;
剩余参数...
当实参个数大于形参个数时,将多余的实参放入数组中
数组方法添加
- 扩展运算符...ary,应用于合并数组上还可以将伪数组变成真正的数组。
- form():将类数组或者时可遍历对象转化为真正的数组,返回真正的数组,还可以接受第二个参数,作用类似 于数组中的map方法,用来对每个元素进行处理,将处理的值放进数组返回,第二参数是一个方法。
- find():查找第一个符合条件的成员,没有返回undifined ,接受一个函数作为参数。
- findindex():查找第一个符合条件的索引,没有返回-1 ,接受一个函数作为参数。
- includes():用来检测数组是否包含给定值,返回布尔值
模板字符串
ES6新增的创建字符串的方式,使用反引号定义。里边可以解析变量,但是要用$来调用模板字符串,是可以换行的,也可以调用函数,和解析变量的格式是一样的。
String的扩展方法
- starsWith():表示参数字符串是否在原字符串的头部,返回布尔值;
- endsWith():表示参数字符串是否在原字符串的尾部,返回布尔值;
- repeat():表示将原字符串重复n次,返回新的字符串;
Set
存储唯一的值;没有重复值;类似数组,采用new实例化,用于做数组去重。
add();delete();has();clear();size();forEach();