ES6 解構(gòu)賦值

ES6 解構(gòu)賦值

let obj1 = {
    account:{
        sale: null
    }
}

let obj3 = {
    account:{
        sale: undefined
    }
}

let obj3 = {
    account:{
        sale: {
            name: 'zhangsan'
        }
    }
}
  • 上面三種數(shù)據(jù)結(jié)構(gòu) obj1 && obj3 是后臺返回形式.

  • obj1

let { account: { sale: { name = 'mixj' } = {} } } = obj1

這個會報錯,
1.理想狀態(tài)是sale不存在就要賦值一個空對象,
2.從空 sale 中找 name,
3.如果name 不存在,賦值 'mixj'.

因為 sale 為 null 不是 undefined,所以第一步就失敗了,然后對一個 null 對象進行解構(gòu).就會報錯
* 當(dāng)沒有該屬性或者該屬性為 undefined 才會賦值
* 對一個 null||undefined解構(gòu)會導(dǎo)致程序拋出錯誤
  • obj2
let { account: { sale: { name = 'mixj' } = {} } } = obj2

1.理想狀態(tài)是sale不存在就要賦值一個空對象,
2.從空 sale 中找 name,
3.如果name 不存在,賦值 'mixj'.

log(name) ==> 'mixj'
  • obj3
let { account: { sale: { name = 'mixj' } = {} } } = obj3

1.理想狀態(tài)是sale不存在就要賦值一個空對象,
2.從空 sale 中找 name,
3.如果name 不存在,賦值 'mixj'.

log(name) ==> 'zhangsan'
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 數(shù)組的解構(gòu)賦值 ES6 允許按照一定模式,從數(shù)組和對象中提取值,對變量進行賦值,這被稱為解構(gòu)(Destructur...
    _羊羽_閱讀 623評論 0 1
  • 前面的話 我們經(jīng)常定義許多對象和數(shù)組,然后有組織地從中提取相關(guān)的信息片段。在ES6中添加了可以簡化這種任務(wù)的新特性...
    sunnyghx閱讀 825評論 0 0
  • 引入 在ES5中,開發(fā)者們?yōu)榱藦膶ο蠛蛿?shù)組中獲取特定數(shù)據(jù)并賦值給變量,編寫了許多看起來同質(zhì)化的代碼 這段代碼從op...
    nengzhuan_zhang閱讀 646評論 0 0
  • 我的媽媽是一個很簡單的女人,很感性的妻子,很多事的母親,很有責(zé)任心的又很善良的公民,但卻是一個很無趣,又有點刻薄...
    軍哥mr閱讀 256評論 0 0
  • 2017.5.23,劉騰權(quán)分享奇跡感恩 一奇跡 1 這幾天的讀功課越來越感覺好,觀注自己的內(nèi)在我很開心,越來越靜,...
    劉騰權(quán)湖北潛江閱讀 296評論 0 0

友情鏈接更多精彩內(nèi)容