**es7 | 青训营笔记**

63 阅读2分钟

es7

Array.prototype.includes

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

比index of 方便,Includes返回布尔index of 需要判断是不是-1

指数操作符

在 ES7 中引入指数运算符「**」,用来实现幂运算,功能与 Math.pow 结果相同

es8

async

async 函数的返回值为 promise 对象,

promise 对象的结果与.then一样。

抛出错误, 返回的结果是一个失败的 Promise

语法: async function fn(){ }

await

\1. await 必须写在 async 函数中

  1. await 右侧的表达式一般为 promise 对象

\3. await 返回的是 promise 成功的值

\4. await 的 promise 失败了, 就会抛出异常, 需要通过 try...catch 捕获处理

4.2.Object.values Object.entries

\1. Object.values()方法返回一个给定对象的所有可枚举属性值的数组

\2. Object.entries()方法返回一个给定对象自身可遍历属性 [key,value] 的数组

4.3.Object.getOwnPropertyDescriptors

该方法返回指定对象所有自身属性的描述对象

ES9

命名捕获组使用符号『?』,支持反向断言点.匹配除回车外的任何单字符

ES10

Object.fromEntries

直接把二维数组转化为对象

trimStart trimEnd

头/尾去空白

Array.prototype.flat flatMap

flat:多维数组降级flatmap:先map后flat

map() 方法返回一个新数组,新数组中的元素为原始数组中的每个元素调用函数处理后得到的值。

Symbol.prototype.description

获取symbol字符串描述

ES11

.String.prototype.matchAll

返回可迭代的正则匹配

类的私有属性

class属性加#变成私有

 class{
     #age//私有
     //需要内部函数获取
 }

Promise.allSettled

输入Promise对象数组,返回Promise对象:状态是所有Promise状态的或,成功为1

可选链操作符

?. 作用:判断函数输入是否存在特定的属性,否返回undefine而非报错

动态 import 导入

 import(./xxx.js).then(moudle=>{
                       moudle.方法
                       })

globalThis 对象

指向全局对象

这个可以忽略环境

bigint

数字末尾加‘n’

123n

不能和整形运算--- theme: github