函数式编程的核心原则
既然我们已经讨论了函数式编程是什么, 现在让我们来看看函数式编程背后的核心原则
纯函数 Pure functions
我喜欢将函数比作机器 - 它们接受一组输入(参数), 并且在之后输出一些东西...consol.log(number); // 不纯的操作: 将函数内的操作打印了出来
return number;
}
相对的, 下面是一个纯函数的例子, 它接受一个输入, 并返回一个输出...相反, 使用只有输入与输出, 并且变量仅存在函数内部的函数, 将会使得调试debug的过程更为简单.
此外, 函数应该遵循引用透明性原则, 这意味着, 对于相同的输入, 函数总会输出相同的输出....我们能够创建一个函数的数组, 或者将函数作为参数传递给其他函数, 或者将他们保存在变量中.
const myFunctionArr = [() => 1 + 2, () => console.log('...在下面这个例子中, 我们通过给map函数传入一个函数来将每个元素都乘以2
const myArr = [1, 2, 3, 4, 5];
const doubled = myArr.map(i => i