js api

98 阅读1分钟

es6: es6.ruanyifeng.com/

es6-es12: segmentfault.com/a/119000003…

  1. 块级作用域 let、const(引用地址无法改变)

  2. 解构赋值、扩展运算符

  3. 模板字符串

    /* 带标签的模板字符串 */
    function foo(a, b, c) {
      console.log(a, b, c);
    }
    
    let name = "Jack";
    let age = 18;
    foo`我的名字${name},年龄${age}`;
    

  4. 箭头函数

  5. 动态引入 import(moduleName).then((module) => {})

  6. 新类型:BigInt: _n 例:let a = 3322352352n;

  7. 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