站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        一起再看JavaScript中的對(duì)象解構(gòu)

        解構(gòu)是一個(gè)概念,分解其中一種數(shù)據(jù)類型并將其單獨(dú)的屬性分配給變量,在文章《JavaScript 解構(gòu)賦值 5 個(gè)常見場(chǎng)景和實(shí)例》中介紹過,今天再來復(fù)習(xí)一下。

        基礎(chǔ)解構(gòu)

        const fullName = {     firstName: "Quintion",     lastName: "Tang", }; const { firstName, lastName } = fullName; // 解構(gòu)語法 console.log(firstName); // Quintion console.log(lastName); // Tang
        登錄后復(fù)制

        正如上面的代碼片段中看到的那樣,在解構(gòu)語法中,分解了 firstName 對(duì)象屬性并將其分配給表達(dá)式左側(cè)定義的變量。在上述場(chǎng)景中,對(duì)象的屬性名稱應(yīng)與左側(cè)表達(dá)式中定義的變量匹配。 如果定義其他變量名稱,則獲取不到想要的值,如:

        const fullName = {     firstName: "Quintion",     lastName: "Tang", }; const { firstName, trueName } = fullName; // 解構(gòu)語法 console.log(firstName); // Quintion console.log(trueName); // undefined
        登錄后復(fù)制

        由于在 fullName 中沒有屬性 trueName ,所以它被初始化為 undefined

        別名解構(gòu)

        如果需要把對(duì)象屬性賦值給屬性名不一致的變量名,可以如下代碼來實(shí)現(xiàn):

        const fullName = {     firstName: "Quintion",     lastName: "Tang", }; const { firstName: trueName, lastName } = fullName; // 解構(gòu)語法 console.log(trueName); // Quintion console.log(lastName); // Tang
        登錄后復(fù)制

        默認(rèn)值解構(gòu)

        在上面代碼中有看到,對(duì)象中不存在特定屬性的解構(gòu),一般會(huì)賦值為 undefined ,如果不希望是 undefined ,可以為其設(shè)置一個(gè)默認(rèn)值,如下:

        const fullName = {     firstName: "Quintion",     lastName: "Tang", }; const { firstName: trueName, lastName, age = 18 } = fullName; // 解構(gòu)語法 console.log(trueName); // Quintion console.log(lastName); // Tang console.log(age); // 18
        登錄后復(fù)制

        下面來看下存在 age 屬性下的結(jié)果:

        const fullName = {     firstName: "Quintion",     lastName: "Tang",     age: 30, }; const { firstName: trueName, lastName, age = 18 } = fullName; // 解構(gòu)語法 console.log(trueName); // Quintion console.log(lastName); // Tang console.log(age); // 30
        登錄后復(fù)制

        REST解構(gòu)

        如果想從一個(gè)對(duì)象中解構(gòu)一個(gè)屬性,剩下的屬性結(jié)構(gòu)為另一個(gè)變量,如下:

        const fullName = {     firstName: "Quintion",     lastName: "Tang",     age: 30, }; const { age, ...username } = fullName; // 解構(gòu)語法 console.log(username); // { firstName: 'Quintion', lastName: 'Tang' } console.log(age); // 30
        登錄后復(fù)制

        在上面的代碼片段中,將 username 屬性分配給了一個(gè)變量,并使用了 rest 運(yùn)算符 (...) 將變量的其余部屬性分配給了一個(gè)單獨(dú)的對(duì)象。

        推薦學(xué)習(xí):《JavaScript視頻教程》

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 久久精品成人国产午夜| 精品无码久久久久久国产| 精品久久久久久久久久久久久久久 | 国产亚洲精品国产| 亚洲电影日韩精品| 久久精品无码专区免费| 一区二区三区精品| 国产精品自产拍在线观看| 精品无码人妻一区二区三区| 亚洲日韩一页精品发布| 午夜精品久久久内射近拍高清| 精品97国产免费人成视频| 国产精品成人69XXX免费视频| 国产精品一久久香蕉产线看| 国产午夜精品无码| 久久精品国产亚洲AV电影| 亚洲精品美女久久777777| 亚洲欧美国产精品专区久久| 麻豆精品视频在线观看| 国产伦精品一区二区三区视频猫咪 | 久久精品免费一区二区三区| 99在线精品免费视频九九视| 麻豆aⅴ精品无码一区二区 | 日本精品自产拍在线观看中文 | 亚洲AV无码成人精品区在线观看| 拍国产真实乱人偷精品| 久久久WWW免费人成精品| 精品少妇一区二区三区在线| 国产精品推荐天天看天天爽| 国产精品片在线观看手机版| 国产精品热久久无码av| 国产成人精品无人区一区| 精品免费视在线观看| 精品久久香蕉国产线看观看亚洲 | 91精品国产高清久久久久久国产嫩草 | 国产精品亚洲A∨天堂不卡| 精品久久久久香蕉网| 国产精品伦一区二区三级视频| 国产三级久久久精品麻豆三级 | 国产精品91av| 欧美精品天天操|