作为一名开发者, 自然是想要写出优雅的, 易于维护的, 可扩展的, 可以预测的代码. 函数式编程(Functional Programming / FP)的原则能够很好的命中这些需求....函数式编程是一种编程范式或者说风格, 在这种范式下开发者更关注不变性, 函数是一等公民, 引用透明性, 以及纯函数性等性质....因此, 大部分函数式编程语言看起来都十分的"数学"(译者: 比如Haskell, 实际上JS也满足函数式编程的要求). 好消息是, 并不需要通过专门使用函数式编程语言来引入函数式编程范式....First-class functions
在函数式编程中, 函数是一等公民, 这意味着他们能够被像其他的变量那样作为值进行使用....开发者不需要完全地遵守每一个函数式编程的规定. 尽管面向对象编程通常被视作与函数式编程相违背的对手, 但开发者仍然可以在使用函数式编程的一些原则和特性的时候结合面向对象的编程范式来进行开发.