var :s5写法 正常
let:s6 只在当前作用域使用,写法严格,暂时性死区(在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”(temporal dead zone,简称TDZ)。)
const:声明常量与let相似,常量的值无法改变,声明后一定给值,声明一个只读的常量,一旦声明后,必须初始化不能以后赋值
const obj={};
obj.name='123';允许;
数组解构:let[x,y,z]=[1,2,3]/let[x,y='5',z]=[1,2,3]/let[x,'',z]=[5,8,9]/let[x,y,z]=[1,[1 ,2]1]/let[x,y,z]=[1,{'name':123"},2]/let[a=f()]=[1] 惰性求值,有变量有值不运行f(),除非为空/undefined
箭头函数var Fun=()=>{},不能用var f1=new Fun()//
箭头函数没有this,this对应的值继承外围作用域(window),父级作用域,箭头函数没有原型属性
箭头函数不绑定arguments,
var c=(...c)=>{//扩展
cosole.log(c);
}
c(1,2.3,4,5,6)