es6: es6.ruanyifeng.com/
es6-es12: segmentfault.com/a/119000003…
-
块级作用域 let、const(引用地址无法改变)
-
解构赋值、扩展运算符
-
模板字符串
/* 带标签的模板字符串 */ function foo(a, b, c) { console.log(a, b, c); } let name = "Jack"; let age = 18; foo`我的名字${name},年龄${age}`;
-
箭头函数
-
动态引入 import(moduleName).then((module) => {})
-
新类型:BigInt: _n 例:let a = 3322352352n;
-
Symbol
Symbol.for() 全局创建,第二次不会创建新的 Symbol() 每次创建新的返回 description 获取 symbol 中的描述,没有返回 undefined -
可选操作符:?
-
空位合并操作符:??(只对 undefined 和 null)
-
类 class
-
模块化 export、import、export default
-
Reflect
-
Proxy
-
globalThis
-
剩余参数 rest
-
try 的 catch 参数可省略
-
幂运算符:** 等同 Math.pow()
-
map
-
set
-
Generator async\await(语法糖)
-
Iterator: 符合要求,可用 for...of
可迭代协议 Symbol.iterator 迭代器协议 return { next() { return {value, done} } } -
Promise
- new Promise、then、catch、finally
- Promise.reject、Promise.resolve
- all、allSettled、any、race
-
async\await
-
string 方法:
- normalize
- includes
- startsWith endsWith
- repeat
- padStart padEnd
- trimStart trimEnd
- matchAll
- replaceAll
-
正则表达式
-
对象:
- 对象属性简写
- get set
- 动态属性名 [key]
- Object.getOwnPropertyDescriptor
- Object: keys、values、entries、fromEntries(生成对象)
- Object.assign
-
数组:
- from 伪数组转成数组 Array.prototype.slice.call()
- of 生成数组
- find、findIndex
- entries、values、keys
- copyWithin(替换位置,选择开始位置,选择结束位置)
- includes
- flat、flatMap:多维数组变成一维数组;会删除数组中的空值
- sort
- reduce(上次结果/初始值, 当前置,下标,数组本身)
- forEach filter map
- some every