什么是函数式编程
【摘要】 函数式编程意味着使用函数作为构建块来构建过程。与 OOP 不同,函数式编程不是一种命令式范式,而是一种声明式范式,这意味着它描述了代码必须完成的工作,而不是如何完成。Haskell 等语言在编写时完全考虑到了函数式编程。Javascript语言本身的特性也使得遵循函数式编程原则成为可能,同时它也支持 OOP。以下是函数式编程的一些关键概念 纯函数纯函数简单来说,是将简单可重用的代码块编写成没...
函数式编程意味着使用函数作为构建块来构建过程。与 OOP 不同,函数式编程不是一种命令式范式,而是一种声明式范式,这意味着它描述了代码必须完成的工作,而不是如何完成。
Haskell 等语言在编写时完全考虑到了函数式编程。Javascript语言本身的特性也使得遵循函数式编程原则成为可能,同时它也支持 OOP。
以下是函数式编程的一些关键概念
纯函数
纯函数简单来说,是将简单可重用的代码块编写成没有任何副作用的函数!这意味着函数的输出由其输入定义。
纯函数不应该修改函数之外的任何东西,并且最重要的是纯函数应该是无状态的!这意味着每次函数运行时,他应该表现的和第一次运行一样!这样做的好处是:例如减少函数之间存在共享状态时存在的错误数量。
修改自身外部变量的不纯函数示例。
不变性
不变性背后的主要思想是,当数据被创建时,它永远不会再次发生改变。在函数式编程中,这是一个关键概念。它有助于消除由于数据随时间变化而引起的相当复杂的错误。React 和 Redux 等库仅提供不可直接修改的状态,相反,它们可以始终创建新状态。
ES6 数组函数是不直接修改数据而是始终返回一个新数据的函数示例。其中之一是地图功能,可以在下面的示例中看到。
结论
无论是构建前端 Web 应用程序还是任何其他类型的应用程序,函数式编程都非常有用。所以如果你还没有,我希望你试一试,自己验证一下编写函数式代码是否更容易。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)