2.0 KiB
2.0 KiB
title | localeTitle |
---|---|
Functional Programming | 功能编程 |
功能编程
功能编程是通过组合纯函数 ,避免共享状态 , 可变数据和副作用来构建软件的过程。函数式编程是声明性的 (告诉计算机你想做什么)而不是命令式 (告诉计算机确切地知道如何做),并且应用程序状态流经纯函数。将其与面向对象编程进行对比,其中应用程序状态通常与对象中的方法共享和共存。
为什么功能编程?
- 它通常更简洁
- 它通常更容易预测
- 它比面向对象的代码更容易测试
通过编程语言采用
许多编程语言都支持Haskell,F#,Common Lisp,Clojure,Erlang,OCaml等函数式编程。 JavaScript还具有非类型化函数语言的属性。
用途
功能编程长期以来在学术界很受欢迎,但几乎没有工业应用。然而,最近几种主要的功能编程语言已经用于商业或工业系统。例如,Erlang编程语言由瑞典公司Ericsson在20世纪80年代末开发,用于在T-Mobile,Nortel,Facebook,ÉlectricitédeFrance和WhatsApp等公司构建一系列应用程序。
高阶函数
高阶函数是函数式编程的重要组成部分。高阶函数是将函数作为参数或返回函数的函数。
地图
map
是一个高阶函数,它将函数调用到列表的每个元素,并将结果作为_新_列表返回。
这是一个map
的例子:
const myList = [6, 3, 5, 29];
let squares = myList.map(num => num * num); // [36, 9, 25, 841]