若是一個值要通過多個函數,才能變成另一個值,就能夠把全部中間步驟合併成一個函數,這叫作"函數的合成"(compose)。segmentfault
const compose = function (f, g) { return function (x) { return f(g(x)); }; }
所謂"柯里化",就是把一個多參數的函數,轉化爲單參數函數。函數
// 柯里化以前 function add(x, y) { return x + y; } add(1, 2) // 3 // 柯里化以後 function addX(y) { return function (x) { return x + y; }; } addX(2)(1) // 3
參考連接:
JS中的柯里化 及 精巧的自動柯里化實現code