體驗usually.js的管道函數——pipe函數

體驗usually.js的管道函數——pipe函數

usually.js 是一個面向現代 Web 開發的 JavaScript 函數庫,基於 ES6 開發。最新版本2.4.1,最新版本usually.js增加管道函數—— pipe 函數。什麼是管道函數?管道函數,其作用是將前一步的結果直接傳參給下一步的函數,從而省略了中間的賦值步驟,可以大量減少內存中的對象,節省內存。

基本使用

usually.js 管道函數 pipe 的管道操作符 |> 允許以一種易讀的方式去對函數鏈式調用。本質上來說,管道操作符是單參數函數調用的語法糖,它允許你像這樣執行一個調用:

const a = -1.15454
let result = U.pipe(a, 'Math.abs |> Math.round')

使用正常js語法寫的話,等效的代碼是這樣的:

const a = -1.15454
let result = Math.round(Math.abs(a))

使用$佔位符

usually.js 的管道函數pipe還可以使用$佔位符,將前一個函數的運算結果傳參給下一個的函數,如:U.pipe(x, 'a |> b($, y)') 等價於 b(a(x), y)。

使用$佔位符示例:

const x = 1
const y = 3
const z = 2

const foo = n => n + 1;
const bar = (x, y) => x * y;
const baz = (x, y, z) => x * y + z
      
const result = U.pipe(x, 'foo |> bar($, y) |> baz($ , y, z)')
// => result = 20

2.4.1版本 usually.js 更新內容如下:

(1)、bug 修復,修復 stringifyURL 函數重複追加“?”的bug
(2)、新增管道操作函數 —— pipe 函數,簡化多函數運算流
(3)、新增對象值覆蓋函數 —— overValues 函數
(4)、新增顏色值處理函數 —— extendHex 函數,將3位的16進制色值轉換爲6位
(5)、新增 randomHex 函數 —— 生成16進制隨機顏色色值
(6)、新增 parseCookie 函數,將 cookie 字符串解析爲對象形式

附錄

usually.js官方文檔地址https://jofunliang.github.io/usuallyjs/
usually.js的GitHub地址https://github.com/JofunLiang/usuallyjs

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章