ES新特性

es6: https://es6.ruanyifeng.com/
es6-es12: https://segmentfault.com/a/11...

  1. 块级作用域 let、const(引用地址无法改变)
  2. 解构赋值、扩展运算符
  3. 模板字符串 ``
    /* 带标签的模板字符串 */ function foo(a, b, c) { console.log(a, b, c); }let name = 'Jack'; let age = 18; foo`我的名字${name},年龄${age}`;

    ES新特性
    文章图片

  4. 箭头函数
  5. 动态引入 import(moduleName).then((module) => {})
  6. 新类型:BigInt: _n 例:let a = 3322352352n;
  7. 【ES新特性】Symbol
    Symbol.for() 全局创建,第二次不会创建新的 Symbol() 每次创建新的返回 description获取symbol中的描述,没有返回undefined

  8. 可选操作符:?
  9. 空位合并操作符:??(只对undefined和null)
  10. 类 class
  11. 模块化 export、import、export default
  12. Reflect
  13. Proxy
  14. globalThis
  15. 剩余参数 rest
  16. try 的 catch 参数可省略
  17. 幂运算符:** 等同 Math.pow()
  18. map
  19. set
  20. Generator async\await(语法糖)
  21. Iterator: 符合要求,可用 for...of
    可迭代协议 Symbol.iterator 迭代器协议 return { next() { return {value, done} } }

  22. Promise
    • new Promise、then、catch、finally
    • Promise.reject、Promise.resolve
    • all、allSettled、any、race
  23. async\await
  24. string 方法:
    • normalize
    • includes
    • startsWith endsWith
    • repeat
    • padStart padEnd
    • trimStart trimEnd
    • matchAll
    • replaceAll
  25. 正则表达式
  26. 对象:
    • 对象属性简写
    • get set
    • 动态属性名 [key]
    • Object.getOwnPropertyDescriptor
    • Object: keys、values、entries、fromEntries(生成对象)
    • Object.assign
  27. 数组:
    • from 伪数组转成数组 Array.prototype.slice.call()
    • of 生成数组
    • find、findIndex
    • entries、values、keys
    • copyWithin(替换位置,选择开始位置,选择结束位置)
    • includes
    • flat、flatMap:多维数组变成一维数组;会删除数组中的空值
    • sort
    • reduce(上次结果/初始值, 当前置,下标,数组本身)
    • forEach filter map
    • some every

    推荐阅读