首页 > 解决方案 > 如果纯函数返回一个不纯函数,它是纯函数吗

问题描述

如果纯函数返回一个不纯函数,它是纯函数吗

const fn = endpoint => () => { 
  console.log(endpoint);
}

技术上fn是纯的不是吗?

标签: javascriptfunctionecmascript-6functional-programming

解决方案


是的,外部函数是纯的。除了创建 lambda 所需的后台机制之外,函数的调用不会引起任何副作用(如果计算这些影响,没有函数是纯粹的,因为至少调用堆栈被函数改变了称呼)。

您可以将此函数调用替换为它内联返回的函数,并且代码的行为相同。


推荐阅读