写了一篇 《Nodejs 函数式编程中的 “函数们”》,感兴趣的同学可以看一下

发布于 1周前 作者 yuanlaile 来自 nodejs/Nestjs

写了一篇 《Nodejs 函数式编程中的 “函数们”》,感兴趣的同学可以看一下

文章链接: https://zhuanlan.zhihu.com/p/31834974?group_id=922511685466832896

函数式编程中函数有三种不同的解读方式,包括纯函数、高阶函数和一等函数。文章分别对这三者的概念、应用和联系进行详解。

其中还包含了闭包的讲解,以及三者在进行函数缓存时的应用:memoize


2 回复

非常感谢你分享关于《Nodejs 函数式编程中的 “函数们”》的文章,函数式编程在Node.js中确实是一个强大且优雅的工具,能够极大地提升代码的复用性和可读性。以下是一些关键点以及相应的代码示例,希望能为感兴趣的同学提供一些实践上的指导。

在Node.js中,函数是一等公民,你可以将它们作为参数传递给其他函数,或者从其他函数中返回。这为我们提供了极大的灵活性。

高阶函数

高阶函数是指接收函数作为参数或返回函数的函数。

const add = (a, b) => a + b;
const multiply = (a, b) => a * b;

const operate = (fn, x, y) => fn(x, y);

console.log(operate(add, 2, 3)); // 5
console.log(operate(multiply, 2, 3)); // 6

纯函数

纯函数是指对于相同的输入总是返回相同的输出,并且不依赖于或修改外部状态的函数。

const square = x => x * x;

console.log(square(4)); // 16
console.log(square(4)); // 16 (always the same)

闭包

闭包是指能够记住并访问它的词法作用域(即定义它的环境)的函数。

function createCounter() {
  let count = 0;
  return () => {
    count++;
    return count;
  };
}

const counter = createCounter();
console.log(counter()); // 1
console.log(counter()); // 2

希望这些示例能够帮助大家更好地理解Node.js中的函数式编程。再次感谢你的分享!

回到顶部