ES7-ES11新特性

ES7 新特性

Array.prototype.includes

  • includes 方法用来检测数组中是否包含某个元素,返回布尔值

  • 指数操作符 ** 相当于 Math.pow

ES8 新特性

async 和 await 函数,相结合可以让异步代码变成同步代码

async 函数

  • async 函数的返回值为 promise 对象
  • promise 对象的结果由 async 函数执行的返回值决定

await 表达式

  • await 必须写在 async 函数中
  • await 右侧的表达式一般为 promise 对象
  • await 返回的是 promise 对象成功的值
  • await 的 promise 失败了,就会抛出异常,需要通过 try...catch 捕获处理

对象方法的扩展 Object.values 和 Object.entries、Object.getOwnPropertyDescriptors

  • Object.values 返回一个给定对象的所有可枚举属性值的数组
  • Object.entries 返回一个给定对象自身可遍历属性 [key,value] 的数组
  • Object.getOwnPropertyDescriptors 返回指定对象所有自身属性的描述对象

ES9 新特性

  • 扩展运算符和rest参数 (ES6中的针对数组)
  • 正则扩展-命名捕获分组
  • 正则扩展-反向断言、dotAll 模式

ES10 新特性

  • Object.fromEntries 创建一个对象,参数是一个二维数组 或 map

  • 字符串扩展 trimStart(去除头部的空格) 和 trimEnd(去除尾部的空格)

  • 数组的扩展方法

  • flat 平 将多维数组转化为低维数组, 参数是一个数字,表示深度,默认值为1

  • flatMap

  • Symbol.prototype.description 获取 symbol 的描述

ES10 新特性

  • 私有属性

  • 可选链操作符

  • promise 的 allsettled 方法

    1. 接受一个 promise 数组,并返回结果
    2. 返回状态只有成功
  • BigInt

    • 不能与普通整数运算
    • BigInt 函数,不能传入小数
    • 参与大数值运算
  • globalThis 指向全局的 this,始终指向全局 this

原文地址:https://www.cnblogs.com/aloneer/p/14765948.html