寒假青训营---ES6

80 阅读3分钟

ES6重点

块级作用域

let const 再大括号中才会声明的变量;大括号产生的作用域才叫块级作用域;没有变量提升, 先声明在使用;暂时性死区,绑定在那个块级作用域。

let 赋值的值是可以更改的,const声明的常量必须赋值而且不可更改对于简单的数据类型不可更改,但是对于复杂类型可以更改里边的内容,如数组和对象可以更改但是不能从新赋值。

对于复合类型的变量,如数组和对象,变量名不指向数据,而是指向数据所在的地址。const命令只是保证变量名指向的地址不变,并不保证该地址的数据不变,所以将一个对象声明为常量必须非常小心。

声明对象类型使用 const,非对象类型声明选择 let;以后声明变量使用 let 就对了;

解构赋值

允许从数组中提取值,按照对应的位置,对变量赋值,对象也可以实现解构 ,解构不成功会返回undifined;

对象解构:是属性匹配;将属性进行匹配;属性值必须一致。,可以添加属性别名。

箭头函数

将箭头函数赋值给一个变量,再来调用,用来简化函数的结构。大括号在一定条件下是可以省略的,当形参只有一个是小括号也可以省略。

箭头函数的this指向:没有this属性;箭头函数 this 指向声明时所在作用域下 this 的值;

剩余参数...

当实参个数大于形参个数时,将多余的实参放入数组中

数组方法添加

  1. 扩展运算符...ary,应用于合并数组上还可以将伪数组变成真正的数组。
  2. form():将类数组或者时可遍历对象转化为真正的数组,返回真正的数组,还可以接受第二个参数,作用类似 于数组中的map方法,用来对每个元素进行处理,将处理的值放进数组返回,第二参数是一个方法。
  3. find():查找第一个符合条件的成员,没有返回undifined ,接受一个函数作为参数。
  4. findindex():查找第一个符合条件的索引,没有返回-1 ,接受一个函数作为参数。
  5. includes():用来检测数组是否包含给定值,返回布尔值

模板字符串

ES6新增的创建字符串的方式,使用反引号定义。里边可以解析变量,但是要用$来调用模板字符串,是可以换行的,也可以调用函数,和解析变量的格式是一样的。

String的扩展方法

  1. starsWith():表示参数字符串是否在原字符串的头部,返回布尔值;
  2. endsWith():表示参数字符串是否在原字符串的尾部,返回布尔值;
  3. repeat():表示将原字符串重复n次,返回新的字符串;

Set

存储唯一的值;没有重复值;类似数组,采用new实例化,用于做数组去重。

add();delete();has();clear();size();forEach();

Symbol变量

简化对象中变量和函数的写法

Map

for...of