不赘述,下面直接说遇到的bug。
手头的某需求把计算过程放在了前端,
本小白一开始惴惴不安,但是测试环境平安无事,
稍松一口气。
上线当晚举手祷告,从如来告到耶稣,祈求一切顺利,
然而并没有什么卵用……
果然,一到线上便不出意外的出了意外,
计算结果竟然是NAN……
我首先排除了正确答案--没有值,
因为我觉得加了可选链操作符,后端就算不传值前端也不会有事,
后面就是兜圈排查,
最后土法解决,字段值 || 0
晚上重新看了会,发现是我对可选链操作符了解不够。
正如前面所说,正确答案是没有值,后端漏传了计算过程中所需要的某个值,
前端使用了可选链操作符,只能避免报错,
但该是undefined的它还会是undefined(后端没传值,前端取不到值就是undefined),
计算过程中混进去了一个undefined,
结果自然就是NAN了。
最后的最后,还有一个未解之谜,那就是为什么测试环境没事?