1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        JavaScript 中對象解構時指定默認值

        共 3739字,需瀏覽 8分鐘

         ·

        2021-04-22 13:30

        點擊上方藍色字體,選擇“標星公眾號”

        優(yōu)質文章,第一時間送達

          作者 |  劉哇勇

        來源 |  urlify.cn/y2Yzu2

        待解構字段為原始值

        正常情況下,

        const obj = {
          a: 1,
          b: 2,
        };

        const { a, b } = obj;
        console.log(a, b); // 1 2

        當被解構字段缺失時,

        const obj = {
          a: 1,
        };

        const { a, b } = obj;
        console.log(a, b); // 1 undefined

        此時可在解構時使用 = 指定默認值:

        const obj = {
          a: 1,
        };

        const { a, b = 2 } = obj;
        console.log(a, b); // 1 2

        解構時指定別名

        你甚至可以在解構字段的同時為其重命名,

        const obj = {
          a: 1,
          b: undefined
        }

        const { a, b: c = 2 } = obj;
        console.log(a, c) // 1 2

        上述過程其實為:

        • 創(chuàng)建變量 c

        • 獲取 obj.b 并賦值給 c

        • 如果 obj.b 為 undefined,則將指定的默認值 2 賦值給 c

        上面的過程等同于:

        const c = obj.b || 2

        待解構字段為對象

        考察如下的對象:

        const obj = {
          innerObj: {
            a: 1,
            b: 2
          }
        }

        正常情況下可通過如下的形式解構以得到內層的字段:

        const obj = {
          innerObj: {
            a: 1,
            b: 2,
          },
        };

        const {
          innerObj: { a, b = 2 },
        } = obj;

        console.log(a, b); // 1 2

        但如果里面嵌套的對象缺失時,上面的解構會報錯:

        const obj = {};

        const {
          innerObj: { a, b = 2 },
        } = obj;

        console.log(a, b); // ?? error: Uncaught TypeError: Cannot read property 'a' of undefined

        此時需要在解構時對內層對象也指定默認值,形式如下:

        const obj = {};

        const {
          innerObj: { a, b = 2 } = {},
        } = obj;

        console.log(a, b); // undefined 2

        解構字段包含在多層嵌套內

        當被解構字段包含在多層嵌套內時,甚至可以通過上面的方式為每一層都指定默認值:

        const obj = {}
        const { foo: { bar: { a, b = 2 } = {} } = {} } = obj;
        console.log(a, b) // undefined 2

        對象解構時需要注意,當其為 null 時,上述默認值并不生效,仍會報錯。具體見下方討論。

        const obj = {
          foo: {
            bar: null
          }
        }
        const { foo: { bar: { a, b = 2 } = {} } = {} } = obj;
        console.log(a, b) // ?? error: Uncaught TypeError: Cannot destructure property 'a' of '{}' as it is null.

        undefined & null

        上面討論的默認值僅在被解構字段的值為 undefined 時生效。拿被解構字段為原始為例,下面兩種情況默認值都會生效:

        • 被解構字段缺失

        const obj = {
          a: 1,
        };

        const { a, b = 2 } = obj;
        console.log(a, b); // 1 2
        • 被解構字段顯式地擁有 undefined 值

        const obj = {
          a: 1
          b: undefined
        }

        const { a, b = 2 } = obj;
        console.log(a, b) // 1 2

        但如果被解構字段的值為非 undefined 時,比如 null,此時默認值并不生效,因為字段擁有 null 本身就是一種合法的值,所以再對其指定默認值便毫無意義。

        于是,如下情況默認值不會生效:

        const obj = {
          a: 1
          b: null
        }

        const { a, b = 2 } = obj;
        console.log(a, b) // 1 null

        這一規(guī)則在被解構字段為對象時同樣適用。




        粉絲福利:Java從入門到入土學習路線圖

        ??????

        ??長按上方微信二維碼 2 秒


        感謝點贊支持下哈 

        瀏覽 21
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            成人毛片在线播放免费| 亚洲男人的天堂av| 亚洲一区无码在线观看| 99青草在线视频| 色噜噜狠狠色综无码久久合欧美| 性爱视频免费| 久久伊思人在| 制服丝袜一区| 一本久久A精品一合区久久久| 国产123区| 精品免费| 五月丁香婷婷综合网| 69久久久久| 国产无码做爱视频| 欧美一道本在线| 欧洲黑种人日P视频| 人人干人人色| 伊人999| 欧美激情无码一区二区三区张丽| 男人操女人免费网站| 久碰人妻人妻人妻| 国产最新在线| 91探花足浴店按摩店| 91站街农村熟女露脸| 亚洲AV毛片| 东北女人操逼视频| 欧美亚洲图区| 草逼毛片| 日本免费A∨| 天堂在线观看AV| 国产熟女一区二区三区五月婷| 中文字幕在线观看亚洲| 91亚洲精品在线| 中文字幕四区| 婷婷综合素质二区| 中文字幕黄色| 精品91在线视频| 性爱xxxxx| 9191久久| AV网站入口| 日韩无码网站| 欧美九九九| 韩国成人啪啪无码高潮| 亚洲精品婷婷| 操天天操| 国产中文在线观看| 日韩视频――中文字幕| 日韩免费小视频| 宅男噜噜噜66一区二区| 欧美精品成人网站| 国产夫妻自拍av| 亚洲高潮| 日本一级理论片在线大全| 欧美成人图片视频在线| 日本黄色片| 亚洲国产成人精品女人| 天天色天天干天天日| 丁香六月天| 精品视频久久久| 欧美一级大香蕉| 浮力影院欧美| 婷婷五月天色色| 人人妻人人要| 亚洲成人在线网| 99国产精品久久久久久久成人| 你懂得视频在线观看| 欧美AAAAA| 大香蕉福利在线| 婷婷欧美色图| 婷婷九月色| 免费人成年激情视频在线观看| 成人无码在线观看免费视频| 日韩无码电影网| 一区二区三区四区五区在线| 97人人插| 欧美熟妇精品一级A片视色| 中文字幕一区二区6页| 国产毛片毛片毛片| 午夜成人无码| 一级av在线| 性饥渴熟妇乱子伦| 久久三| 国产嫩BBwBBw高潮| 国产精品视频网站| 一级Aa视频免费看| 一级性爽A√毛片| 欧美午夜黄片| 久热青草| AV无码免费一区二区三区不卡| 粉嫩99精品99久久久久| 亚洲三级电影在线观看| 免费观看一级毛一片| 亚洲69v久久久无码精品| 九七AV| 亚洲午夜无码久久久| 91看片看婬黄大片Videos| 色综合成人| 男人天堂视频在线| 日本一区免费观看| 美女A级毛片| 91中文字幕网| 蜜臀久久99精品久久久| 国产在线播放91| 蜜臀久久99精品久久久久久婷婷| 国产日韩中文字幕| 大色AV| 91丨国产丨白浆| 乱伦婷婷| 久久久久极品| 精品无码一区二区Av蜜桃| 久久一二三四| 天天日天天摸| 超碰人人爱国产视| 亚洲中文字幕在线看| 精品无码人妻一区二区| 69成人无码| 五月婷久久| 狼友在线观看| 2014天堂网| 亚洲天堂网在线观看| 激情网页| 岛国AV在线| 成人黄色在线| MAD033_后宫秘密陶子.| 欧美色大香蕉| 在线观看免费欧美操逼视频| AA片免费看| 亚洲色激情| 青娱乐一级无码| 91av一区二区三区| www.五月天.con| 午夜无码三级| 草草影院第一页| 91国产在线播放| 午夜福利黄| 男女啪啪网| 亚洲三级在线播放| 亚洲精品AⅤ一区二| 嫩BBB嫩BBB嫩BBB| 欧美亚洲天堂| 亚洲精品一区无码A片丁香花| 中国无码专区| 西西444大胆无码视频| 亚洲一区二区三区免费视频| 在线免费观看av片| 国产中文字幕在线免费观看 | 亚洲俺去了| 在线观看中文字幕亚洲| 精品人妻在线| 91视频网站免费| 日本免费无码| 国产精品成人免费久久黄AV片| 婷婷色在线观看| 99精品视频免费看| 成人爽a毛片一区二区免费| 五月婷婷激情网| 欧美成人黄色电影| 国产激倩都市一区二区三区欧美| 99热精品免费在线观看| 亚洲中文字幕播放| 午夜日屄| 日韩一级片在线| 天堂网在线播放| 亚洲精品人人| 超碰人人摸| 亚洲口爆| 五月丁香综合| 久久青留社区金玉| 国偷自产视频一区二区久| 亚洲视频在线观| 国产AⅤ无码一区二区| 99久热在线精品视频| 国产精品免费人成人网站酒店| 成人无码区免费A片久久| 韩国无码一区二区三区| 影音先锋男人站| 韩国无码视频| 免费看三级网站| 激情五月天av| 丁香六月婷婷综合激情欧美| 山西真实国产乱子伦| 亚洲1区2区| 九九无码视频| 黄色电影免费在线观看| 黑人vs亚洲人在线播放| 中字幕视频在线永久在线观看免费 | 伊人综合久久| 欧美一区二区精品| 亚洲三级电影在线观看| 成年人在线观看视频网站| 欧美亚洲日韩国产| 天天av天天av天天爽| 亚洲激情在线| 中文字幕66页| jizz国产视频| 久久综合操| 精品视频91| 国产乱伦网| 亚洲欧美在线视频| 北条麻妃在线精品| 99久久久精品久久久久久| 欧美一本在线| www.午夜| 狠狠操AV| 国产av资源| 亚洲美女视频在线| 天堂国产一区二区三区| 91超碰在线播放| 亚洲无码成人片| 国产做受91一片二片老头| 中文字幕高清AⅤ| 51精品国产午夜福利| 色先锋资源站| XXXXⅩHD亚洲人HD| 亚洲精品成人无码毛片| 91久久爽久久爽爽久久片| 国产精品毛片A√一区| 欧美日韩亚洲另类| 爱爱免费看片| 亚洲中文字幕影院| 狠狠操狠狠| 懂色成人视频在线观看| 午夜精品久久久久久久99热精东 | 丁香成人五月天| 国产啊啊啊| 青青草99热| 亚洲美女网站免费观看网址| 中文字幕在线中文| 日本黄色视频网址| 成人777| 麻豆videos| 成人理论片| 欧美成人在线免费视频| 成人肏逼视频| 高清无码在线免费观看| 久久久无码人妻精品无码| 午夜8050| 亚洲图片小说区| www.sese| 久久无码黄片| 婷婷亚洲国产| 国产AV无码高清| 人妻体内射精一区二区| 亚洲天堂在线视频| 日本亚洲视频| 亚洲H| 国产在线观看AV| 99热这里有精品| 国产成人精品国内自产拍免费看| 特黄一级片| 四虎成人精品无码永久在线的客服| 国产XXXXX| 丁月婷婷五香天日五月天| 日韩av无码中文字幕| 一区二区三区观看| 婷婷五月天黄色| 久久久久久久人妻丝袜| 成人做爰黄级A片免费看土方 | 影音先锋资源| 国产精品一区二区AV日韩在线| 蜜桃视频com.www| 国产情侣在线视频| 狠狠的日| 欧美在线看片| 日韩在线一区二区三区四区| 少妇白洁在线观看| 狼友视频在线观看| 色婷婷五月激情| 久久香蕉网站| 九九九成人网| 色婷婷视频| 免费爱爱视频网站| 国产第一页在线播放| 高清无码视频免费观看| 亚洲AV无码一区毛片AV| 亚洲黄色Av| 91精品大屁股白浆自慰久久久| 亚洲性爱AV| 精品日韩在线视频| 五月婷婷六月婷婷| 青春草在线观看视频| 欧美日韩免费在线播放电影在线播放电影在线播放电影免费 | 亚洲少妇性爱视频| 精品人妻一区二区三区在线视频不卡| 欧美l∨视| 91成人情欲影视网| 91精品国产综合久久久久久久| 伊人精品在线| 91在线视频精品| 亚洲有码人妻| 中文字幕欧美激情| 成人AV中文解说水果派| 日本中文字幕在线| 第四色视频| 一级无码视频| 国产精品久久777777| 国产成人V在线精品一区| 一区二区三区四区精品视频| 日本一区二区不卡| 国产欧美日韩综合精品|