原文链接:https://note.noxussj.top/?source=helloworld
什么是副作用?
副作用会让一个函数变的不纯,纯函数是根据相同的输入返回相同的输出,如果函数依赖于外部的状态就无法保证输出相同,就会带来副作用。
副作用来源
函数依赖外部状态(变量),但是副作用不可能完全禁止,尽可能控制在它们可控范围内发生。
缺点
- 副作用使得方法通用性下降不适合扩展和可重用性
- 副作用给程序中带来安全隐患和不稳定性
基础案例
没有副作用的函数,纯函数
1function checkAge(age) { 2 const xiaoming = 18 3 return age >= xiaoming 4}
存在副作用的函数,不纯的函数
1const xiaoming = 18 2 3function checkAge(age) { 4 return age >= xiaoming 5}
