一、ES7新特性
1、Array.prototype.includes
定义: includes方法用来检测数组中是否包含某个元素,返回布尔类型值
2、指数操作符
定义: 在ES7中引入指数运算符[**],用来实现幂运算,功能与Math.pow()结果相同
语法:
let result = 2 ** 10; // 1024
二、ES8 新特性
1、async和await
定义: async和await两种语法结合可以让异步代码像同步代码一样
- async函数特点
a、async函数的返回值为promise对象
b、promise对象的结果由async函数执行的返回值决定
- await表达式
a、await必须写在async函数中
b、await右侧的表达式一般为promise对象
c、await返回的是promise成功的值
d、await的promise失败了,就会抛出异常,需要通过try...catch捕获处理
2、Object.values和Object.entries
-
Object.values()方法返回一个给定对象的所有可枚举属性值的数组
-
Object.entries()方法返回一个给定对象自身可遍历属性[key, value]的数组
-
Object.keys()方法返回一个给定对象的所有键名
三、ES9新特性
1、扩展运算符与rest参数
定义: rest参数与spred扩展运算符在ES6中已经引入,不过ES6中只针对于数组.
在ES9中为对象提供了像数组一样的rest参数和扩展运算符
2、正则扩展
-
命名捕获
-
反向断言
-
dotAl模式

