副作用
在编程中,副作用(Side Effect) 是指在程序执行过程中产生了与返回结果无关的其他状态变化或行为。这些变化或行为通常是函数执行时对外部系统或环境的影响,比如更改全局变量、执行 I/O 操作(如打印到控制台或写入文件)、修改数据库内容等。
副作用的常见形式包括:
改变外部变量:函数执行时,修改了函数外的变量值,比如全局变量或闭包中的变量。
I/O 操作:与外部系统交互,比如读取或写入文件、网络请求、打印输出等。
改变可变参数:在函数内部改变传入的对象属性或元素(特别是对象和数组)。
抛出异常:在执行过程中引发异常,中断正常流程。
与硬件交互:操作外部硬件设备,比如打印机、摄像头等。
在函数式编程中,副作用是需要避免的,因为副作用会引入不确定性,增加代码的不可预测性和测试难度。而纯函数(Pure Function) 则完全没有副作用,保证在相同输入时始终返回相同的结果,这样的函数更易于测试和维护。
Last updated