fpEs用 JavaScript 進(jìn)行函數(shù)式編程
fpEs 是一個(gè) JavaScript 庫(kù),可讓你使用 EcmaScript(Javascript) 進(jìn)行函數(shù)式編程。
作者表示,之所以開(kāi)發(fā)這個(gè)項(xiàng)目是因?yàn)樽约盒枰褂?nbsp;Optional & Rx-like & PubSub 這些功能的一些特性,如果同時(shí)引入它們,項(xiàng)目又會(huì)變得很重。因此他的這個(gè)實(shí)現(xiàn)只包含核心功能,并且使用起來(lái)更加清晰。
用法
引入整個(gè)庫(kù)
import fpEs from 'fpEs';
該庫(kù)包含了 5 個(gè)模塊,可以單獨(dú)引用它們:
-
Facades:
-
maybe
-
monadio
-
publisher
-
-
FP functions:
-
fp
-
pattern
-
只需引用你需要的東西:
import Maybe from "fpEs"; // or this one: /* import Maybe from "fpEs/maybe"; */ var m = Maybe.just(1); // It works
or
import {
compose, curry,
} from "fpEs";
or
import {
compose, curry,
} from "fpEs/fp";
Common FP (Compose, Curry)
import {
compose, curry,
} from "fpEs/fp";
// compose
console.log(compose((x)=>x-8, (x)=>x+10, (x)=>x*10)(4)) // 42
console.log(compose((x)=>x+2, (x,y)=>x*y)(4,10)) // 42
// curry
console.log(curry((x, y, z) => x + y + z)(1,2,3)) // 6
console.log(curry((x, y, z) => x + y + z)(1)(2,3)) // 6
console.log(curry((x, y, z) => x + y + z)(1,2)(3)) // 6
console.log(curry((x, y, z) => x + y + z)(1)(2)(3)) // 6評(píng)論
圖片
表情
