es6 数组合并_九个前端开发必学超级实用的 ES6 特性
1、展開操作符
顧名思義,用于對象或數組之前的展開操作符(…),將一個結構展開為列表。
這種寫法夠優雅,夠簡潔吧?如果不用展開操作符
我們得這么寫:
展開操作符也適用于合并對象的屬性:
不用展開操作符的話,需要遍歷對象的屬性:
2、剩余參數
剩余參數將剩余的參數收入數列。JavaScript 的特性是參數數目很靈活。通常會有一個 arguments 變量收集參數。
讓我們看一個例子:
上面的一段代碼僅僅將 first 和 second 加起來,也就是說,調用 add(1, 2) 和 add(1, 2, 3, 4) 會得到相同的結果。
下面我們修正一下:
如前所述,…remaining 收集了剩余的參數,為我們提供了這些參數的命名,清楚地表明我們打算處理剩余的參數。我記得至遲 ES5 已經有 arguments 了,不過少有人知。
3、字符串插值
見過這樣的語句嗎?
當然,我指的是 getDescription() 方法中那個可讀性不佳的多行長語句。大多數編程語言中都存在類似現象。一些語言提供了字符串插值,幸運的是,JavaScript 正是其中之一。
我們改寫一下 getDescription() 方法:
一對 包起來的字符串中可以使用 ${} 插值?,F在看起來舒服多了。
4、簡寫屬性
在 ES5 中必須這么寫:
ES6 以后可以使用簡寫屬性:
看起來更清爽了吧?
5、方法屬性
方法屬性是在對象中定義指向方法的屬性。
考慮下面一段 ES5 代碼作為例子:
ES6 以后只需這么寫:
6、解構賦值
解構賦值有利于開發者本人的心理健康。
考慮下面的代碼:
不管從什么角度來看,上面的代碼都不完美,但它確實體現了一種應用場景,我們想要從對象的不同層次獲取數據。你也許會問,這里有什么問題?好吧,我可以不用聲明這么多變量,省下一些敲擊鍵盤的次數。
看,我們上面的代碼將三行壓縮成了一行。
解構賦值并不僅僅局限于對象。它同樣適用于數組。
考慮下面的代碼:
上面的代碼可以用更優雅的方式改寫:
我們可以使用上面的模式匹配分解數組的值。我們使用 , , 跳過某些值。上面提到過的剩余參數這里也能用,在這里我們通過剩余參數捕獲了剩余的數組成員。
解構賦值還可以用于函數和參數。函數有不止 2-3 個參數時,使用一個對象收集所有參數是 JavaScript 的事實標準。
例如,下面一個函數:
有更好的寫法:
7、數組方法
ES6 引入了許多有用的數組方法,例如:
find(),查找列表中的成員,返回 null 表示沒找到
findIndex(),查找列表成員的索引
some(),檢查某個斷言是否至少在列表的一個成員上為真
includes,列表是否包含某項
下面的代碼有助于你理解它們的用法:
8、異步方案
如果你在這個圈子里呆了些年頭,也許會記得曾經有一個時期我們只有回調
就像這樣:
我們使用回調是因為有些操作是異步的,需要時間來完成。后來我們有了 promise 庫,人們開始使用它。然后 JavaScript 逐漸加入了對 promise 的原生支持。
我們甚至可以這樣調用,將 promise 串起來:
后來生活更加美好,我們有了 async/await
上面一段代碼可以這樣寫:
9、模塊
差不多任何編程語言都支持模塊這一概念,也就是將代碼分為多個文件,每個文件是一個自我包含的單元(模塊)。
考慮下面的代碼:
我們在上面用 export 關鍵字注明了 add 和 sub 這兩個結構對任何引入該模塊的模塊都公開可見。export default 關鍵字則注明僅僅 import 模塊時得到的結構。在 main.js 中,我們將導入的 default 命名為 mult,同時指明我們引入 add() 和 sub() 這兩個方法。箭頭函數和字典作用域 this。
總結
以上是生活随笔為你收集整理的es6 数组合并_九个前端开发必学超级实用的 ES6 特性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dell驱动安装工具_技术丨如何快速安装
- 下一篇: 电力电子应用技术_RFID技术应用在电力