3

纯函数可以在同一个类中使用私有常量变量吗?

例如:

class TimesThousand {
  const CONSTANT = 1000;

  function calculate(number) {
    return number * CONSTANT;
  }
}

可以calculate()认为是一个pure function

4

1 回答 1

4

当返回值仅由其输入值确定时,纯函数是纯函数,没有任何可观察到的副作用。

所以你的功能是纯粹的。由于 的值CONSTANT(顾名思义)是常数,因此输出完全由输入决定。

来自维基百科

如果以下关于函数的两个陈述都成立,则该函数可以被认为是纯函数:

  1. 给定相同的参数值,该函数始终评估相同的结果值。函数结果值不能依赖于在程序执行过程中或程序的不同执行之间可能发生变化的任何隐藏信息或状态,也不能依赖于来自 I/O 设备的任何外部输入。
  2. 结果的评估不会导致任何语义上可观察的副作用或输出,例如可变对象的突变或输出到 I/O 设备。
于 2016-09-15T12:06:47.273 回答