一些ES6新姿式

原文: Javascript ES6 — Exploring the New Built-In Methodsjavascript

對象屬性分配

在處理對象的時候,你可能須要把多個對象合在一塊兒,新的 Object.assign()函數能夠簡潔地作到這件事。java

對象合併

Object.assign merge

咱們的目標是把2-4行的對象合併爲一個對象。ES5的話你須要循環幾個對象而後把屬性賦值到目標對象,可是在ES6你只須要一行代碼(15行)。
合併有相同屬性的對象會發生什麼狀況?請看↓es6

合併有相同屬性的對象

clipboard.png

你也能夠用 Object.assign()來克隆對象數組

Object.assign clone

查找數組元素

對於數組咱們常常會查找其中是否有某個元素,在ES6有兩個數組的新方法find()findIndex()須要注意的是find()只返回符合要求的第一個元素。那麼咱們看看ES6的新方法和相同效果在ES5怎麼寫。函數

clipboard.png

第7行和12行想過同樣,12行的ES6版看起來就簡單不少。14行是返回第一個找到元素的索引,ES5沒有對應方法。ui

字符串重複

ES6新增String.repeat()spa

string repeating

字符串查找

ES6有三個新方法幫助開發者在字符串中查找關鍵字,分別是String. startsWith()endsWith()includes()。我十分喜歡這幾個方法,真是受夠用低效還容易出錯的indexOf()了。code

string searching

Number類型檢查

檢查有限數的方法Number.isFinite(),以及檢查NaN的方法Number.isNaN()對象

number type checking

有兩點須要注意:blog

  • Number.isNaN()和全局的isNaN()的區別,請點擊這裏這裏
  • 無限實際上不是真正的無限,而是一個表明無限的值。實際上這個值是1.797693134862315E+308。負無限則是-1.797693134862315E+308。

斷定數值正負

Math.sign(),結果包括NaN和-0。

number sign determination

相關文章
相關標籤/搜索