纯函数

作者: 湘兰沅芷 | 来源:发表于2021-03-24 00:31 被阅读0次

纯函数:相同的输入永远会得到相同的输出。而且没有任何可观察的副作用。
lodash 是一个纯函数的功能库,提供了对数组、数字、对象、字符串、函数等操作的一些方法。
数组的slice和splice分别是:纯函数和不纯函数
slice 返回数组中的指定部分,不会改变原数组
splice 对数组进行操作返回该数组,会改变原数组。

函数式编程不会保留计算中间的结果,所以变量是不可变的(无状态的)
我们可以把一个函数的执行结果交给另一个函数去处理

副作用:
副作用让一个函数变的不纯,如果纯函数依赖于外部的状态就无法保证输出相同,就会带来副作用

非纯函数
let mini = 18
function checkAge(age) {
  return age >= mini
}
checkAge(20)
纯函数
function checkAge(age) {
  let mini = 18
  return age >= mini
}
checkAge(20)

副作用的来源:
1.配置文件 2.数据库 3.获取用户的输入

所有的外部交互都有可能代理副作用,副作用也使得方法通用性下降不适合扩展和重用性,同时副作用会给程序中带来安全隐患给程序带来不稳定性,但是副作用不可能完全禁止,尽可能控制它们在可控范围内发生。

相关文章

  • JS纯函数概念

    判断是否为纯函数的两个指标 纯函数和非纯函数的简单例子 1、纯函数 2、非纯函数 Redux中对使用纯函数redu...

  • 函数式编程(二)—— 纯函数

    目录 纯函数纯函数的概念Lodash——纯函数的代表体验Lodash纯函数的好处可缓存可测试并行处理副作用【函数式...

  • 4.0 C++远征:纯虚函数与抽象类

    3-1纯虚函数抽象类 [TOC] 一、纯虚函数 1.纯虚函数的定义 ​ 纯虚函数,没有函数体,同时定义时在函数...

  • 前端基础—带你理解什么是函数式编程

    框架总览 ? 引言 ? 什么是函数式编程? ? 函数是纯函数? 什么是纯函数? 函数的副作用? 使用纯函数的优点?...

  • 纯虚函数和抽象类

    纯虚函数和抽象类 概念 纯虚函数:没有函数体的虚函数。 抽象类:包含纯虚函数的类就称为抽象类。 纯虚函数就是在函数...

  • 纯函数

    Function VS Procedures 这里的纯函数指的是在函数式编程里面的纯函数。要理解好纯函数这个概念,...

  • 函数式编程(二)

    纯函数 函数式编程中的函数,指的就是纯函数,这也是整个函数式编程的核心纯函数:相同的输入永远会得到相同的输出,而且...

  • 纯函数

    纯函数概念 相同的输入总是返回相同的输出,函数式编程依赖于纯函数 lodash:纯函数功能库const _ = r...

  • Clojure学习笔记(三)——函数式编程

    函数式编程的理念 函数式编程使得代码的编写、阅读、测试和重用都更容易了。 纯函数 函数式程序构建于纯函数之上。纯函...

  • 什么是纯函数

    “纯函数”这个概念个人觉得适用与所有的语言。什么是纯函数,纯函数有两个重要的标准,违反任何一个都不是纯函数;1、函...

网友评论

      本文标题:纯函数

      本文链接:https://www.haomeiwen.com/subject/ljnpcltx.html