javascript - 如果纯函数返回一个不纯函数,它是纯函数吗
问题描述
如果纯函数返回一个不纯函数,它是纯函数吗
const fn = endpoint => () => {
console.log(endpoint);
}
技术上fn
是纯的不是吗?
解决方案
是的,外部函数是纯的。除了创建 lambda 所需的后台机制之外,函数的调用不会引起任何副作用(如果计算这些影响,没有函数是纯粹的,因为至少调用堆栈被函数改变了称呼)。
您可以将此函数调用替换为它内联返回的函数,并且代码的行为相同。
推荐阅读
- ansible - Conditionals with custom variables
- reactjs - setState 可能没有被执行
- makefile - Rule whose second prerequisite depends on first prerequisite match
- redux - Redux Saga not waiting for Firebase service to return
- php - how to set color warning when status "Waiting Confirmation"?
- php - 如何使用谷歌地图从坐标中获取城市名称
- php - PHP 通过 ref 传递在主体内部没有有效使用
- html2canvas - 如果带宽低,在 Tampermonkey 中使用 html2canvas 时下载图像失败
- python - 尝试从 python 运行 shell 命令时没有输出
- javascript - NodeJS如何创建类似bash的输入