函数式编程是一种编程范式或者说风格, 在这种范式下开发者更关注不变性, 函数是一等公民, 引用透明性, 以及纯函数性等性质....因此, 大部分函数式编程语言看起来都十分的"数学"(译者: 比如Haskell, 实际上JS也满足函数式编程的要求). 好消息是, 并不需要通过专门使用函数式编程语言来引入函数式编程范式....函数式编程的核心原则
既然我们已经讨论了函数式编程是什么, 现在让我们来看看函数式编程背后的核心原则
纯函数 Pure functions
我喜欢将函数比作机器 - 它们接受一组输入(参数), 并且在之后输出一些东西...不可变性为函数的可预测性提供支持 - 你清楚数据的值, 而且它们也不会被改变, 这将使得代码变得更加简单, 也更容易去测试, 并且也更容易在分布式和多线程应用中被调用....First-class functions
在函数式编程中, 函数是一等公民, 这意味着他们能够被像其他的变量那样作为值进行使用.