• <abbr id="chdyf"></abbr>
    <ruby id="chdyf"><acronym id="chdyf"><meter id="chdyf"></meter></acronym></ruby>
    <bdo id="chdyf"></bdo>
    <dfn id="chdyf"><menu id="chdyf"></menu></dfn>
    1. <menuitem id="chdyf"></menuitem><strong id="chdyf"><menu id="chdyf"></menu></strong>

      <rt id="chdyf"><menu id="chdyf"></menu></rt>
      成人小说一区二区三区,伊人精品成人久久综合全集观看,久久HEZYO色综合,中文字幕精品人妻熟女,影音先锋成人网站,我要看免费一级毛片,中国女人做爰A片,中文字幕av久久爽Av

      ES6的解構賦值的用途總結

      2019-11-5    seo達人

      二 - ES6的解構賦值的用途總結

      2 - 什么是ES6解構

      在ES6中添加了一個新屬性:解構,允許你使用類似數組或對象字面量的語法將數組和對象的屬性賦給各種變量。解構是一種打破數據結構,將其拆分為更小部分的過程,允許我們將右邊的表達式看起來也像變量聲明一般,然后在左邊將值一一提取。 解構這種賦值語法較為簡潔,比傳統的屬性訪問更為清晰。

      還不了解什么是解構賦值的,請參考:https://blog.csdn.net/azxqwe123/article/details/103296603

      下面只講怎么應用:



      2.1 - ES6解構賦值7種場景案例—用途

      (1)交換變量的值



      [x, y] = [y, x];

      上面代碼交換變量x和y的值,這樣的寫法不僅簡潔,而且易讀,語義非常清晰。



      (2)從函數返回多個值



      函數只能返回一個值,如果要返回多個值,只能將它們放在數組或對象里返回。有了解構賦值,取出這些值就非常方便。



      // 返回一個數組



      function example() {

        return [1, 2, 3];

      }

      var [a, b, c] = example();



      // 返回一個對象



      function example() {

        return {

          foo: 1,

          bar: 2

        };

      }

      var { foo, bar } = example();



      (3)函數參數的定義



      解構賦值可以方便地將一組參數與變量名對應起來。



      // 參數是一組有次序的值

      function f([x, y, z]) { ... }

      f([1, 2, 3]);



      // 參數是一組無次序的值

      function f({x, y, z}) { ... }

      f({z: 3, y: 2, x: 1});



      (4)提取JSON數據



      解構賦值對提取JSON對象中的數據,尤其有用。



      var jsonData = {

        id: 42,

        status: "OK",

        data: [867, 5309]

      };



      let { id, status, data: number } = jsonData;



      console.log(id, status, number);

      // 42, "OK", [867, 5309]

      上面代碼可以快速提取JSON數據的值。



      (5)函數參數的默認值



      jQuery.ajax = function (url, {

        async = true,

        beforeSend = function () {},

        cache = true,

        complete = function () {},

        crossDomain = false,

        global = true,

        // ... more config

      }) {

        // ... do stuff

      };





      指定參數的默認值,就避免了在函數體內部再寫var foo = config.foo || ‘default foo’;這樣的語句。



      (6)遍歷Map結構



      任何部署了Iterator接口的對象,都可以用for…of循環遍歷。Map結構原生支持Iterator接口,配合變量的解構賦值,獲取鍵名和鍵值就非常方便。



      var map = new Map();

      map.set('first', 'hello');

      map.set('second', 'world');



      for (let [key, value] of map) {

        console.log(key + " is " + value);

      }

      // first is hello

      // second is world

      如果只想獲取鍵名,或者只想獲取鍵值,可以寫成下面這樣。



      // 獲取鍵名

      for (let [key] of map) {

        // ...

      }



      // 獲取鍵值

      for (let [,value] of map) {

        // ...

      }



      (7)輸入模塊的指定方法



      加載模塊時,往往需要指定輸入那些方法。解構賦值使得輸入語句非常清晰。



      const { SourceMapConsumer, SourceNode } = require("source-map");


      日歷

      鏈接

      個人資料

      藍藍設計的小編 http://m.wtxcl.cn

      存檔

      主站蜘蛛池模板: 又粗又大网站| 国产成人精品视频一区视频二区| 成人av天堂| 国产成人亚洲精品2020| 国产草草影院18成年视频| 精品無碼一區在線觀看 | 亚洲AVAV天堂Av在线播放| 免费看无码网站成人A片| 亚洲熟女精品中文字幕m| 欧美aⅴ电影| 托克托县| 国产欧美亚洲精品a| 色综合久| 日韩a视频| 无码人妻精品一区二区三区温州| 普兰店市| 日韩激情视频| 国产黄片在线播放| 午夜激情网站| 亚洲无aV在线中文字幕| 91久久偷偷做嫩草影院电| 日韩激情一区二区| 风流老熟女一区二区三区| 冕宁县| 久久久综合亚洲色一区二区三区| 午夜福利免费一区二区| 久久婷婷五月综合| 国产jizz| 国产精品色拉拉| 日韩av高清无码一区二区三区| 丁香婷婷久久| 国产午夜精品福利| 免费人成网站在线高清| 九九成人精品| 亚洲自拍偷拍一区| 97SE色综合一区二区二区| 久久精品AⅤ无码中文字字幕蜜桃 久久久久久国产精品免费免费男同 | 无码免费一区二区三区| 婷婷91| 国产 日韩 在线 亚洲 字幕 中文 亚洲精品宾馆在线精品酒店 | 国产主播一区二区三区|