ES6

  • let
    ①用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。
    ②不存在变量提升(变量一定要在声明后使用,否则报错)
    ③如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错
    ④不允许重复声明
  • const
    (并不是变量的值不得改动,而是变量指向的那个内存地址不得改动)
    ①声明一个只读的常量。一旦声明,常量的值就不能改变
    ②只在声明所在的块级作用域内有效。

  • 解构

  • Symbol 一无二的值
  • Set
    ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
    Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化。
    四个操作方法:
    add(value):添加某个值,返回Set结构本身。
    delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
    has(value):返回一个布尔值,表示该值是否为Set的成员。
    clear():清除所有成员,没有返回值
    遍历的方法:
    keys():返回一个键名的遍历器
    values():返回一个键值的遍历器
    entries():返回一个键值对的遍历器
    forEach():使用回调函数遍历每个成员
    set内部的元素可以遍历for…of…
  • WeakSet
    WeakSet和Set的区别:
    WeakSet的成员只能是对象,而不能是其他类型的值
    WeakSet中的对象都是弱引用,即垃圾回收机制不考虑WeakSet对该对象的引用,也就是说,如果其他对象都不再引用该对象,那么垃圾回收机制会自动回收该对象所占用的内存,不考虑该对象还存在于WeakSet之中。这个特点意味着,无法引用WeakSet的成员,因此WeakSet是不可遍历的

  • map
    遍历方法:keys()、values()、entries()、forEach()

  • WeakMap

  • Iterator遍历器.它是一种接口,为各种不同的数据结构提供统一的访问机制

  • Generator
    普通函数只可以return一次,而生成器函数可以yield多次(当然也可以只yield一次)。在生成器的执行过程中,遇到yield表达式立即暂停,后续可恢复执行状态。

  • Promise

  • async

  • class

  • proxy

  • Decorator

  • model

  • 二进制数组


推荐阅读:
http://www.cnblogs.com/-simon/p/5940518.html
浅谈JavaScript、ES5、ES6
http://es6.ruanyifeng.com/#docs/intro


迷你书所属 深入浅出ES6
JavaScript
http://www.hubwiz.com/course/5359f6f6ec7452081a7873d8/