是否存在强制使用optional chaining或&&校验的ESlint规则
解决方案
你可以通过调整 @typescript-eslint/prefer-optional-chain 规则的校验等级,实现强制要求使用可选链的效果:
- 该规则默认仅为警告级别,只会提示你优先用可选链替代
&&链式判断 - 在ESLint配置文件的
rules字段中将规则等级调整为error后,所有不符合要求的老式嵌套判空写法都会直接抛出错误,强制使用可选链写法,从编码阶段就避免漏写可选链的问题,无需手动记住所有嵌套对象的判空逻辑
适用场景说明
- 深度嵌套对象的属性访问场景:类似
a && a.b && a.b.c的写法会被强制要求修改为a?.b?.c - 异步返回嵌套数据的判空场景:避免因上游异步数据为
undefined导致的属性访问运行时报错 - 可选函数调用场景:类似
callback && callback()的写法会被强制要求修改为callback?.()
内容的提问来源于stack exchange,提问作者Yassine Bridi
相关产品推荐
相关产品推荐

