1.es6三种声明方式: es6
a.var 全局声明编程
b.let 局部变量声明 数组
c.const 常量声明spa
2.变量的解构赋值rest
a.数组的解构赋值code
等号左边与右边形式统一 let [a,[b,c],d]=[1,[2,3],4]; 对象
可使用默认值 let [a,b="paradise"]=['追逐者'] console.log(a+b); blog
ps:undefined表示没有值 null有值值为null字符串
b.对象的解构赋值 io
1 let {head,foot} = {head:'paradise',foot:'追逐者'}; 2 console.log(head+foot);
变量必须与变量名相同
c.若是变量以前已经定义,应用圆括号
1 let foot; 2 ({foo} ={foot:'追逐者'}); 3 console.log(foot);
d.字符串解构(和数组相似)
1 const [a,b,c,d,e,f,g,h]="Paradise"; 2 console.log(a); 3 console.log(b); 4 console.log(c); 5 console.log(d); 6 console.log(e); 7 console.log(f); 8 console.log(g); 9 console.log(h);
3.扩展运算符和rest运算符
解决参数和对象数组未知状况下编程
a.对象扩展运算符(...)
function paradise(...aaa){
console.log(aaa[0]);
console.log(aaa[1]);
console.log(aaa[2]);
console.log(aaa[3]);
}
paradise(1,2,3,4);
这样能够传入n个输入,而不报错
let arr1=['aaa','bbb','ccc'];
//let arr2=arr1;
let arr2=[...arr1];
console.log(arr2);
arr2.push('ddd');
console.log(arr2);
console.log(arr1);
解决引用问题(直接引用时,改变arr2的同时,arr1也会改变)
b.rest运算符(...)
1 function paradise(first,...arg){ 2 for(let val of arg){ 3 console.log(val); 4 } 5 } 6 7 paradise(0,1,2,3,4,5,6,7); //输出7