ES6新特性


原文链接: ES6新特性

一、作用域


  • 块级作用域
  • 块级变量let
  • 块级常量 const

二、箭头函数


  • sum = (a,b)=> a + b
  • nums.forEach(v=> {console.log(v)})
  • 词法 this

三、参数处理


  • 默认参数值
  • 剩余参数
  • 展开运算符

四、模板字面量


  • 多行字符串
  • 字符串插值
  • 带标签的模板字面量
  • 原始字符串

五、原有字面量加强


  • 更安全的二进制字面量(0b1111101)
  • 更安全的八进制字面量(0o767)
  • 字符串支持Unicode
    • String.fromCodePoint
    • String.prototype.codePointAt
  • 正则表达式字面量添加 Unicode
  • 正则表达式添加y标记,支持粘滞匹配
  • 对象属性加强
    • 属性定义支持短语法obj = {x,y}
    • 属性名支持表达式 obj = {["baz"+quux()]:42}
    • 添加__proto__属性,但不建议使用

六、解构赋值


  • 匹配 [b,a] = [a,b]
  • 对象匹配 let {a,b,c} = objABC
  • 参数匹配 function g({name:n,val:v}){}

七、模块


  • 导入(import)
  • 导出(export)
  • 默认导出(export default)

八、类


  • 使用extends继承
  • 重写构造器
  • super关键字

九、迭代


  • 迭代器
  • for of

十、生成器


十一、promise


十二、元编程


  • 代理(proxy)
  • 反射(Reflex)

十三、新增数据类型


  • Symbol类型
  • Set类型
  • Map类型
  • WeakSet类型
  • WeakMap类型
  • TypedArray类型

十四、原有内置对象API增强


  • Object.assign

  • Array.from

  • Array.of

  • Array.prototype.fill

  • Array.prototype.find

  • Array.prototype.findIndex

  • Array.prototype.copyWithin

  • Array.prototype.entries

  • Array.prototype.keys

  • Array.prototype.values

  • String.prototype.includes

  • String.prototype.repeat

  • String.prototype.startsWidth

  • String.prototype.endsWidth()

  • Number.EPSILON

  • Number.isInteger

  • Number.isSafeInteger

  • Number.isFinite

  • Number.isNaN("NaN")

  • Math.acosh

  • Math.hypot

  • Math.imul

  • Math.sign

  • Math.trunc

`