解構(gòu)賦值
數(shù)組的解構(gòu)賦值
function fn() {
return 7;
}
let [a, [[b, ...d], c, e = 6, f = a, g = fn()]] = [1, [[2, 3], 4]];
console.log(a); // 1 不解釋
console.log(b); // 2 不解釋
console.log(c); // 4 不解釋
console.log(d); // [3] 展開符將剩余的所有元素當(dāng)做一個數(shù)組返回
console.log(e); // 6 如果e === undefined e等于默認(rèn)值
console.log(f); // 1 a必須被定義如果a未被定義則報錯
console.log(g); // 7 惰性求職,當(dāng)給g變量賦值時才會執(zhí)行fn方法
對象的解構(gòu)賦值
let {a,c} = {a:1,c:2};
//以上表達(dá)式其實(shí)是以下表達(dá)式的簡寫
let {a:a,c:c} = {a:1,c:2};
//以下表達(dá)式中的a,c是模式;b,d才是變量
let {a:b,c:d} = {a:1,c:2};
console.logc(b);//1
console.logc(d);//2
console.logc(a);//a is undefined
console.logc(c);//c is undefined
function fn() {
return 7;
};
let obj = {};
let arr = [];
let cc, dd, ee;
({a: obj.prop, b: arr[0], cc=3, dd=obj.prop, e: ee = fn()} = {a: 1, b: 2, e: 3});
console.log(obj); //{prop:1}
console.log(arr); //[2]
console.log(cc); //3
console.log(dd); //1 dd===undefined 使用obj.prop為默認(rèn)值
console.log(ee); //3 e!=undefined 使用e給ee賦值,e===undefined使用惰性求職給ee設(shè)置默認(rèn)值
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。