-
我用 == 判断一个值是否为空,结果空字符串、数字 0、空数组全被判成了"相等",逻辑全乱了,我对着 JavaScript 的隐式类型转换排查了大半天的复盘
用 JS 写表单校验和默认值处理,用 == 做各种判断,代码看着很顺,上线后行为诡异到离谱:用户输入数字 0 被当成空、空数组 [] 被判成等于 false、字符串 "0" 和数字 0 一会儿相等一会儿不相等,整个校验乱成一锅粥。盯着那些 == 看了又看,每个单独看好像挺合理,组合起来就是不对。排查大半天才理解 JS 臭名昭著的特性——== 的隐式类型转换:0=="&…- 0
- 0
-
TypeScript discriminated union exhaustiveness check 漏写引发 ¥21.8 万对账偏差的 4 天复盘:never 守卫 + ESLint + 运行时白名单三层兜底
支付编排系统新增 refund_partial 事件类型,因 47 处 union switch 中 35 处裸 default 兜底,TypeScript 沉默,5128 笔订单错归 ignored 桶,23 天累积 ¥21.8 万对账偏差。4 天复盘:从渠道日志比对走错方向,到 SQL 聚合一眼定位,到 assertNever 全面铺设、ESLint 规则强制、运行时白名单告警,立 8 条 T…- 6
- 0
ESLint
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!


