1、let块级变量
	  usage :使用于循环中
2、块级作用域-可以多层嵌套
	  note: 没有返回值
	  {{}}
	
3、do{} 表达式
	  note: 可以将块级作用域的代码作为返回值
	  var test = do
		  { let t = f();
 		   t = t * t + 1;}
4、匿名函数--箭头函数
	  note:无return
    	  var m = (x,y)=>x+y;
	  var m = (x,y)=>{x+y};
5、const命令	
	  note:const声明一个只读的常量。一旦声明,常量的值就不能改变。
6、变量对位赋值[解构]
	  var [a, b, c] = [1, 2, 3];
		  a=1
		  b=2
		  c=3
	  note:解构不仅可以用于数组,还可以用于对象。
		  var { foo, bar } = { foo: "aaa", bar: "bbb" };
		  foo // "aaa"
		  bar // "bbb"
	  note:字符串的解构赋值
		  const [a, b, c, d, e] = ‘hello‘;
		  a // "h"
		  b // "e"
		  c // "l"
		  d // "l"
		  e // "o"
	  当然还有数值和布尔值的解构赋值、函数参数的解构赋值
	  参考用途:http://caibaojian.com/es6/destructuring.html
7、参数的默认值
	  var m = x||56;
8、字符串的遍历器接口
	  for (let codePoint of ‘foo‘) {
	    console.log(codePoint)
	  }
9、ES6 数组的扩展
	  Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map)。
	
	  Array.from()
10、Array.of方法用于将一组值,转换为数组
11、ES6 对象的扩展
    var name = "xgx";
    var age = 26;
    var json = {name,age};
    以上ES6新写法,自动将变量变成作为对象的key,等价于
      var json = {"name":name,"age":age}
12、ES6 symbol--第七种数据类型
	  前六种是:Undefined、Null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。
	  let s = Symbol();
	  typeof s
	  // "symbol"
13、消除强耦合
	  字符串“Triangle”就是一个魔术字符串。它多次出现,与代码形成“强耦合”,不利于将来的修改和维护。
14、ES6函数入参新特性,指定参数的默认值
ES5指定默认值的方式:
function buy(name,age){
        name= name||‘apple‘;
        age=age||5;
    console.log(name,":",age)
}
  buy()
  apple : 5
ES6则直接在参数定义里面设置函数参数的默认值,简化了默认值的处理:
 function buy(name="pen",age="1"){
        console.log(name,":",age)
  }    
    buy();
    pen : 1
原文:https://www.cnblogs.com/irobotzz/p/10968663.html