ES8新特性
async异步
被async定义的函数返回的是一个promise对象
1.async返回值是非promise对象或没有返回值,fulfiled then指定
2. 是promise对象。。fulfilled vs rejected then vs catch
await
对象方法拓zhan
object.keys()
Object.value()
Object.entries()
得到一个大数组包含每个键值对构建的小数组 得到一个二维数组
可以使用entries方法对对象向map结构转换
获取属性描述符
可以进行对象克隆
不完全复制
无法复制getset方法
定义方法属性方法结合使用
获取对象的全部属性和方法
字符串填充
时间格式上零的补充
ES9新特性
剩余参数
剩余参数集中到other中
rest特性
扩展运算符spread特性 ...
同名属性值被覆盖
快速合并对象属性 保留部分属性案例
也可以进行浅复制
let obj1={...obj};
正则表达式命名捕获组\
基本正则表达式的捕获
[0-9] 获取几到几的数据
{4}获取几位 - 通过什么键进行分开
()分配索引号 0 为获取的整体字符串 第一个小括号 获取的字符串索引为1
reg.exec(被捕字符串) 捕获
reg 正则表达式 捕获格式
exec
Promise.finally()
promise基本知识
三个状态
new promise((resolve,reject)=>{
})
promise().than(()=>{
}).catch(err=>{
}).finally(()=>{回调函数
//无论成功或失败都会执行
})
异步遍历器
同步遍历器
生成器函数
同步遍历器在处理promise对象时存在不足
异步生成器 异步遍历器
ES10新特性
1.转二维数组
2.转map结构
3.转
一种对象格式转化为另一种对象格式
trim 去除首尾空格
3.try catch(e可省略参数){}
ES11新特性
module新增
动态导入
BigInt
求幂运算符** 二的53次幂 2**53
BigInt(num) 对普通数字型转换为bigint
才能进行和BigInt数据的加减乘除运算
json-BigInt
globalthis 可以在不同的运行环境下都实现对顶层对象的调用
空值合并运算符
可用于设置默认值
可选链操作符
ES12新特性
逻辑赋值操作符
数字分隔符
replaceAll
Promise.any
all race settleall
WeakRef
垃圾回收机制
对象结构,数组,函数结构
首次命名即为1,地址再赋值给一个变量,+1;一个地址变量赋值为null-1;只要计数大于一就不会进入垃圾回收机制
造成内存泄漏
weakSet
只能存复杂类型数据
不会存在引用计数加一
weak系列无法使用for循环 size和for不能再使用
对对象的弱引用
FinalizationRegistry
ES13新特性
初始化成员属性,不需要传参的属性可以写在构造器外面
私有静态属性和方法 #
静态代码块
支持在最外层写await
at函数
find (函数) 正着查到第一个符合条件的数组中第一个数据
findIndex(函数) 的索引号
findlast(函数) 反着
findlastIndex(函数)