函式的合成
如果一個值要經過多個函式,才能變成另外一個值,就可以把所有中間步驟合併成一個函式,這叫做”函式的合成”(compose)。
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中的柯里化 及 精巧的自動柯里化實現