es6

1.let 和 const

(1)let:代码块内有效,适合 for 循环;

(2)不存在变量提升

(3)暂时性死区  只要块级作用域上存在let命令,它所声明的变量就“绑定这个区域”,不会受外部影响。

(4)不允许重复声明

(5)do表达式  

       在块级作用域中加上do 可以得到整个块级作用域的返回值

(6)块级作用域 和函数声明 

        应该避免在块级作用域中声明函数,即使声明也要写成函数表达式;


数组的解构赋值

var[a,b,c]=[1,2,3];


set 和 map

1.set :是一个类似数组的构造函数,其中的值都是唯一的;可以接受一个数组进行初始化

var s=new Set([1,2,3,2,2,4]);  

s.size=4;

向set加入值的时候: NaN=NaN;两个对象总是不相等。

set的属性:

Set.prototype.constructor:构造函数,默认就是Set函数。

Set.prototype.size:返回Set实例的成员总数。

set的方法:

add(value):添加某个值,返回Set结构本身。

delete(value):删除某个值,返回一个布尔值,表示删除是否成功。

has(value):返回一个布尔值,表示该值是否为Set的成员。

clear():清除所有成员,没有返回值。


Array.from方法可以将Set结构转为数组。
var items=new Set([1,2,3,4,5]);  var array=Array.from(items);


generator函数

运行出错,是因为没有引入,babel-ployfill.

(1)yield语句  

        用在普通函数中会出错;yield语句如果用在一个表达式之中,必须放在圆括号里面。

你可能感兴趣的:(es6)