我是JS的新手,在学习函数式编程时遇到了currying这个词。此外,我得到了它允许我们将具有多个参数的函数转换为一次具有一个参数的函数。但是,我真的不明白为什么我们需要使用它,以及我们从它中得到了什么好处。另外,如果你看一下下面的代码,我们会多次运行curriedMultiply5(),currying的好处是它帮助我们只运行一次代码并多次重用它的输出,也就是说,currying帮助我们实现了效率。问题是为什么我们需要使用currying,是因为它帮助我们实现了代码效率吗?
const curriedMultiply= (a) => (b) => a*b;
const curriedMultiply5= curriedMultiply(5);
curriedMultiply5(4);
curriedMultiply5(4);
curriedMultiply5(4);发布于 2019-10-10 23:54:02
例如,您可以考虑一个函数,它接受一个参数,比如增值税( VAT ),然后返回一个只有一个参数的函数,用于计算增值税的价格。
此函数只需接受一个参数来设置增值税并获得一组带有增值税的价格,即可用作回调。
const addVAT = vat => price => price + price * vat;
var vat = 0.2,
pricesWithoutVAT = [0.2, 1.11, 30.99],
pricesWithVAT = pricesWithoutVAT.map(addVAT(vat));
console.log(pricesWithVAT);
https://stackoverflow.com/questions/58326437
复制相似问题