函数式编程

JavaScript 函数式编程导论

近年来,函数式编程(Functional Programming )已经成为了 JavaScript 社区中炙手可热的主题之一,无论你是否欣赏这种编程理念,相信你都已经对它有所了解。即使是前几年函数式编程尚未流行的时候,我已经在很多的大型应用代码库中发现了不少对于函数式编程理念的深度实践。

函数式编程即是在软件开发的工程中避免使用共享状态(Shared State )、可变状态(Mutable Data)以及副作用(Side Effects )。函数式编程中整个应用由数据驱动,应用的状态在不同纯函数之间流动。与偏向命令式编程的面向对象编程而言,函数式编程其更偏向于声明式编程,代码更加简洁明了、更可预测,并且可测试性也更好。函数式编程本质上也是一种编程范式(Programming Paradigm ),其代表了一系列用于构建软件系统的基本定义准则。其他编程范式还包括面向对象编程(Object Oriented Programming )与过程程序设计(Procedural Programming )。