//數組的解構; // let arr=[1,2,3,6] // let[a,b,c,d]=arr; // console.log(a,b,c,d)// 1,2,3,6
!!僞數組也能夠進行解構,如獲取得DOM節點(就是一個僞數組)
//對象的解構; // let obj={ // name:'gbb', // age:89, // } // let{name,age}=obj; // console.log(name,age) gbb 89
複雜對象的解構; let obj={ name:'gbb', age:89, obj1:{ sex:'nan', height:175, } } let{name,age,obj1:{sex,height}}=obj; console.log(name,age,sex,height)
//注:等號右側若是不能進行遍歷,都不能解構。
let [a] = 10;
let [a] = null;
let [a] = true
let [a] = false;
let [a] = undefined;
let [c] = NaN;數組
let [a] = [] //返回的爲undefined
let {a} = {} //返回的爲undefined函數
4.擴展運算符:...spa
... 的做用:code
function fn(...num){ console.log(num) //[1,3,5,9] } let arr=[1,3,5,9]; fn(...arr);
var obj1={ name:'nana', age:66, } var obj2={ sex:'nan', height:15, name:'會不會覆蓋了?' //相同屬性將會被覆蓋!! } var obj3={...obj1,...obj2}; console.log(obj1,obj2,obj3)
function fn(a,b,...c){ console.log(c); //3,4,5,6 將不肯定的數據保存 } fn(1,2,3,4,5,6);
eg:對象