什么是函数式编程?

函数式编程围绕这样的观念,一个程序由一个函数集合构成,并且它们遵守特定的规则。 它是一个程序开发范例, 是关于软件构建的一种思维方式,基于一些基础和原理。通用的编程语言支持函数式编程的包括:Python , Ruby和其他的很多语言。

函数式编程非常简洁,可以代替多数典型的过程式编程。函数式编程的主要概念是纯函数的理念。纯函数是处理输入,并进行操作,然后输出,并且不改变函数域外面的任何变量状态。每个到达文档对象模型外面的函数,或者使用不在它的域里面的变量,都不是纯函数,并且都没有遵守函数式编程的标准。

Javascript是函数式编程语言吗?

尽管Javascript没有被广泛认识,或作为函数式编程使用,它仍然有函数式的元素。如果你定义函数式语言,这种语言首先支持类函数和lambdas,回答就是肯定的,JavaScript 是一种函数式语言。如果你考虑一些因素,如不变性,代数数据类型,模式匹配,特殊应用等,回答就是否定的,JavaScript 不是一种函数式语言。更多的,JavaScript获得了一个控制流,并且概念化为一种命令式语言。从它的对象化设计,很明显可以考虑不是一种函数式语言。

为什么要函数式编程?

  • 纯函数,在它的定义域外面,不能改变其他东西.
  • 减少复杂性,不必担心它如何做,只需要关心它做什么.
  • 易于测试,因为它不依赖于应用的状态,并且结果也容易校验.
  • 代码可读性更强.
  • 函数编程令代码更易于理解.
原文链接