瞅瞅ES6多好玩——解構(gòu)賦值篇

解構(gòu)賦值:按照一個(gè)數(shù)據(jù)值的結(jié)構(gòu),快速解析獲取到其中的內(nèi)容

  • 數(shù)組解構(gòu)賦值

    1.想要幾個(gè)就幾個(gè)
    let ary = [12, 23, 34, 45, 56];
    let [a, b, c] = ary;
    console.log(a, b, c);  // 12 23 34
    let [d] = ary;
    console.log(d);        // 12
    
    // 省略賦值
    let [e, , f] = ary;
    console.log(e,f);      // 12 34
    
    2.設(shè)置默認(rèn)值也行(默認(rèn)解構(gòu))
    let ary = [12];
    let [a, b = 0] = ary;
    console.log(a, b);     // 12 0
    
    3.不僅可以解構(gòu)成單個(gè)值,還可以返回個(gè)數(shù)組
    let ary = [12, 23, 34, 45, 56];
    let [a, ...b] = ary;
    console.log(a, b);         // 12 [23,34,45,56]
    let [a, ...b, c] = ary;    // SyntaxError: Rest element must be last element
    
    4.互換位置更加方便
    let a = 12,
        b = 13;
    [a, b] = [b, a];
    console.log(a, b);    // 13 12
    
  • 對(duì)象解構(gòu)賦值

    1.對(duì)象解構(gòu)賦值默認(rèn)情況下要求:左側(cè)變量名和對(duì)象中的屬性名一致才可以
    let obj = {name: 'xxx', age: 25, sex: 0};
    let {name, age} = obj;
    console.log(name, age);  // "xxx" 25
    
    2.給不存在的屬性設(shè)置默認(rèn)值
    let obj = {name: 'xxx', age: 25, sex: 0};
    let {friend = 0} = obj;
    console.log(friend);    // 0 
    
    3.給解構(gòu)的屬性名起別名作為需要使用的變量
    let obj = {name: 'xxx', age: 25, sex: 0};
    let {age: ageAA} = obj;
    console.log(age);    // Uncaught ReferenceError: age is not defined
    console.log(ageAA);  // 25
    
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容