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