12 代理 Proxy 和 反射 Reflection API

常见的代理陷阱

10 改进的数组

新增定型数组

9 类

ES5 中的类

  • 类的继承
  • 静态成员 static

8 迭代器 Iterator 和 生成器 Generator

迭代器是一种特殊对象,所有的迭代器对象都有一个next()方法,结果对象有两个属性,一个是value,一个是done。

生成器是一个返回迭代器的函数。

yield 是ES6 的新特性,这个关键字只可在生成器内部使用。

可迭代对象和for-of循环,具有Symbo.iterator属性。

所有的集合对象和字符串都是可迭代对象,这些对象都有默认的迭代器。

集合对象的三种迭代器

  • entries()
  • keys()
  • values()

展开运算符可用于其他可迭代对象。

7 Set 集合 和 Map 集合

Set 集合是一种无重复元素的列表。常用于检查对象中是否存在某个键名。

Map 集合内容包含多种键值对。常用语获取已存的信息。

在之前,我们用对象属性来模拟这两个家伙。但是属性的键名只能是字符串。

6 Symbol

5 解构

  • 数组解构
  • 对象解构
    • 嵌套对象解构
  • 混合解构

4 扩展对象的功能性

  • 对象字面量语法扩展
    • 属性初始值的简写
    • 对象方法的简写
    • 可计算属性名
  • 新增方法
    • Object.is()
    • Object.assign()
  • super关键字,简化原型访问

3 函数

  • 形参默认值
  • 箭头函数
  • 明确函数的多种用途
    • 元属性 new.target
  • 展开运算符

2 字符串和正则

模板字面量

  • 多行字符串
  • 标签模板

1 块级作用域绑定

  • 块级声明
  • var声明和变量提升机制
  • 循环中的块作用域绑定