FP
JS中的Function
按照SICP中对基础函数的描述,由于都是基本的运算数操作组合,所以基础的function,应该始终是Pure function。
然而 JS 中的 Function 中可以操作 副作用。所以 JS 的 Function 其实更符合另外一个概念 Procedure
Procedure:可以执行副作用的Process结合,所以也可以void返回,因为函数讲道理肯定是要有返回值的。
Function:无副作用的运算结合,运算,并返回值
從 FP 的角度來說,Imperative languages 裡的 Function 應該稱為 Procedure,因為我們可以在 Function 裡做任何事而不是單純的運算返回值。