1

在 JavaScript 中,我们可以像这样表达一个简单的 noop 函数(在 Lodash 中也是如此):

const noop = () => {};

这可能是一个轻浮的区别,但它算作一个纯函数吗?我最初的猜测是,这因为:

  • 引用透明,因为它总是返回undefined.
  • 不会造成任何副作用。

但是如果我们重复调用这个函数(就像下面的代码块分配undefined给一堆变量),它最终会不会因为外部状态一直在变化而导致不同的行为(比如崩溃程序)?

const a = noop();
const b = noop();
const c = noop();
const d = noop();
...
...
(... until memory runs out)

(或者我们应该在这种情况下把记忆等问题放在一边?)

4

0 回答 0