JavaScript 中的 Currying(柯里化) 和 Partial Application(偏函数应用)

在这篇文章中,我们将介绍 Javascript 函数式编程中几种常见技术:Currying(柯里化) vs Partial Application(偏函数应用)。您不需要使用函数式编程的背景来理解这些内容,所以不必担心。

关于函数式编程的快速回顾

我假设你对 Javascript 中的函数已经有了一个基本的了解,包括高阶函数闭包call & apply ;如果你还不了解这些,那么请你快速去了解这些主题后再回来看这篇文章。

现在回来,让我们先回顾几个要点,然后再继续阅读。

Arity(参数数量) 指的是一个函数可以接受的参数的数量。这可能是一个没有,一个(unary),两个(二进制)或更多(多值)。您还可以使用具有可变数量参数的函数(variadic(可变参数)函数)。

函数允许您通过函数的 .length 属性来访问它们的参数数量。函数的 .length 属性永远不会改变 – 该属性总是匹配函数的声明参数的数量。 继续阅读