Javascript 柯里化(Currying)与方法链

标签 javascript currying method-chaining

据我了解:

柯里化(Currying) - 函数返回函数

string.capitalize(1)('character')('at the end')

方法链——方法返回对象

string.lowercase.capitalize.uppercase

这种理解是否正确?

如果是这样,是否存在其中一个比另一个更好的情况?

因为在我看来,方法链更好,更易读。如果您点击“点”,您还可以自动完成显示可以使用的方法,它会显示您可以传递的所有参数。

最佳答案

更好的柯里化(Currying)等价物是 Builder 设计模式。

因此,你会做这样的事情:

myObject.setIndexRangeToEffect(1,1).setTextTransformation(UPPERCASE).execute();

在调用 execute 之前的任何时候,您基本上都有一个“curried”操作对象。

关于Javascript 柯里化(Currying)与方法链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4120968/

相关文章:

Javascript 运行对象和所有这些方法

scala - Scala 中的柯里化(Currying)函数背后的基本原理是什么?

javascript - 在 javascript 中使用柯里化(Currying)函数优于普通函数的优点

javascript - 如何在数组方法链中展开 Promise 数组?

python - 也许 Python 中的 monad 带有方法链

c++ - 从方法链中使用的临时 move

javascript - 为什么我必须在 IE 中单击两次选择框选项才能使其消失?

javascript - 与 dhtmlxGrid 的链接不起作用

javascript - 这个奇怪的三元运算是什么?

javascript - 如何使用 Ramda 将 javascript 中的简单平均函数转换为无点形式?