<font id="zqva1"></font>
<rt id="zqva1"></rt>
  • <tt id="zqva1"></tt>
    <cite id="zqva1"></cite>

    <cite id="zqva1"><noscript id="zqva1"></noscript></cite>
      <rp id="zqva1"><meter id="zqva1"></meter></rp>

        <cite id="zqva1"></cite>
          <b id="zqva1"></b>
          <rp id="zqva1"></rp>
          <cite id="zqva1"></cite>

          <rt id="zqva1"></rt>

        1. <rp id="zqva1"></rp>

          js解構賦值,關于es6中的解構賦值的用途總結

          時間:?2017-12-13閱讀:?2634標簽:?es6

          什么是ES6解構

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


          ES6解構賦值用途  

          (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");
          站長推薦

          1.阿里云: 本站目前使用的是阿里云主機,安全/可靠/穩定。點擊領取2000元代金券、了解最新阿里云產品的各種優惠活動點擊進入

          2.騰訊云: 提供云服務器、云數據庫、云存儲、視頻與CDN、域名等服務。騰訊云各類產品的最新活動,優惠券領取點擊進入

          3.廣告聯盟: 整理了目前主流的廣告聯盟平臺,如果你有流量,可以作為參考選擇適合你的平臺點擊進入

          鏈接: http://www.modern-decoration.com.cn/article/detial/244

          24個常用的es6方法

          本文主要介紹 24 中 es6 方法,這些方法都挺實用的,本本請記好,時不時翻出來看看。如何檢查元素是否具有指定的類?頁面DOM里的每個節點上都有一個classList對象,程序員可以使用里面的方法新增、刪除、修改節點上的CSS類。

          javascript es6是什么?

          ES6就是ECMAScript6是新版本JavaScript語言的標準。已經在2015年6月正式發布了。Mozilla公司將在這個標準的基礎上,推出JavaScript 2.0。ECMAScript6在保證向下兼容的前提下

          ES6 Promise用法詳解

          Promise是一個構造函數,接受一個參數(Function),并且該參數接受兩個參數resolve和reject(分別表示異步操作執行成功后的回調函數、執行失敗后的回調函數)

          commonjs 與 es6相關Module語法的區別

          export 在接口名字與模塊內部的變量之間建立了一一對應的關系,export輸出的接口; export的寫法,除了像上面這樣,還有另外一種。export命令除了輸出變量,還可以輸出函數或類(class)。

          ES6箭頭函數(Arrow Functions)

          箭頭函數中的 this 指向的是定義時的對象,而不是使用時的對象;由于 箭頭函數沒有自己的this指針,通過 call() 或 apply() 方法調用一個函數時,只能傳遞參數,他們的第一個參數會被忽略

          es6 class

          構造函數的prototype屬性,在 ES6 的“類”上面繼續存在。事實上,類的所有方法都定義在類的prototype屬性上面。

          es6之迭代器

          迭代器是被設計專用于迭代的對象,帶有特定接口。所有的迭代器對象都擁有 next() 方法,會返回一個結果對象。該結果對象有兩個屬性:對應下一個值的 value ,以及一個布爾類型的 done

          ES6 - let、const、var的區別

          為了使JavaScript語言可以用來編寫復雜的大型應用程序,成為企業級開發語言,ECMAScript 6.0(簡稱ES6)在標準中添加了很多新的特性。我們將用幾篇文章總結一下ES6標準中一些常用的新特性。本片文章主要講解ES6中的let、const命令,并區分其與var命令的區別。

          ES6新的變量聲明方式

          在ES6之前,JavaScript是沒有塊級作用域的,如果在塊內使用var聲明一個變量,它在代碼塊外面仍舊是可見的。ES6規范給開發者帶來了塊級作用域,let和const都添加了塊級作用域,使得JS更嚴謹和規范。

          es6數據變更同步到視圖層

          數據變更同步到視圖層有一個很重要的東西就是Proxy,Proxy的作用就是可以隱藏真正的對象,而用戶去修改它的代理對象.Proxy可以監聽數據的變化,例如

          fly63.com版權所有,內容以共享、參考、研究為目的,不存在任何商業目的。其版權屬原作者所有,如有侵權,請與小編聯系!情況屬實本人將予以刪除!

          文章投稿關于web前端網站點搜索站長推薦網站地圖站長QQ:522607023

          小程序專欄: 土味情話心理測試腦筋急轉彎幽默笑話段子句子語錄成語大全運營推廣

          国产精品高清视频免费 - 视频 - 在线观看 - 影视资讯 - 唯爱网