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 函数中
- 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