笔记内容为 尚硅谷Web前端ES6教程,涵盖ES6-ES11 教学课程笔记整理
Object.values 和 Object.entries
Object.values()方法返回一个给定对象的所有可枚举属性值的数组Object.entries()方法返回一个给定对象自身可遍历属性 [key, value] 的数组
Object.getOwnPropertyDescriptors
- 该方法返回指定对象所有自身属性的描述对象
正则扩展
1. 命名捕获分组
?<name>可以给正则匹配到的值命名,并且通过groups取到
2. 反向断言
?<=内容是反向断言,?=内容是正向断言,可以根据目标的前边或者后边来对其进行一个唯一性的断言
3. dotAll 模式
s是模式修正符,加了之后,.将能匹配任意字符gs是全部匹配,匹配结果不止一个
Object.fromEntries
- 这个方法用来创建一个对象,它的入参是一个二维数组或者是一个 map
- 它跟
Object.entries是逆运算,entries 是把一个对象变成一个二维数组,fromEntries 是把二维数组变成对象
trimStart 与 trimEnd
trimStart清除字符串左侧的空格trimEnd清楚字符串右侧的空格
flat 与 flatMap
flat可以将多维数组转化为低维数组flat接受一个参数,是一个数字,表示深度。比如将一个三维数组转化为一维数组,深度为 2,传参就为 2。
flatMap可以将多维 map 转化为低维数组
Symbol.prototype.description
私有属性
- 可以使用
#来定义私有属性 - 只能在 class 内部调用私有属性
Promise.allSettled
- 这个方法接受一个 promise 的数组,返回结果也是一个 promise 的对象
- 返回的结果是每个 promise 成功的值
Promise.all如果结果有一个 reject,那么结果就是 reject
String.prototype.matchAll
可选链操作符
?.- 在应对对象类型的参数时,对象的层级比较深,可以避免层级判断
动态 import
import()函数的结果是一个 promise 对象,该结果成功的值就是导入的模块暴露的对象- 等到使用的时候再导入
BigInt
- 主要用来进行更大的数值运算
- 表示方式:正常数值后面加一个
n
globalThis
- 这个变量不论执行环境是什么,始终指向全局对象