欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

什么是纯函数

程序员文章站 2024-02-04 15:31:22
...

纯函数的概念:一个函数的返回结果只依赖其参数,并且执行过程中没有副作用。

返回值只和函数参数有关,与外部无关。无论外部发生什么样的变化,函数的返回值都不会改变。

//  非纯函数 返回值与a相关,无法预料
const a = 1
const foo = (b) => a + b
foo(2)                    // => 3

// 纯函数 返回结果只依赖于它的参数 x 和 b,foo(1, 2) 只要 foo 代码不改变,你传入的参数是确定的,那么 foo(1, 2) 的值永远是可预料的。
const a = 1
const foo = (x, b) => x + b
foo(1, 2) // => 3

函数执行的过程中对外部产生了可观察的变化,我们就说函数产生了副作用。