no-non-null-asserted-optional-chain
禁止在可选链表达式后使用非空断言。
✅
在 "plugin:@typescript-eslint/recommended"
的 ESLint 配置 中扩展此规则。
💡
此规则报告的一些问题可以通过编辑器 建议 手动修复。
?.
可选链表达式在对象为 null
或 undefined
时提供 undefined
。使用 !
非空断言来断言 ?.
可选链表达式的结果是非空,这很可能是错误的。
大多数情况下,要么对象不是可空,不需要
?.
来进行属性查找,要么!
是错误的,并引入了类型安全漏洞。
.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/no-non-null-asserted-optional-chain": "error"
}
};
在游乐场中尝试此规则 ↗
示例
选项
此规则不可配置。
何时不使用它
如果项目的类型尚未完全描述某些值是否可空,例如,如果正在过渡到 strictNullChecks
,则此规则可能会产生许多错误报告。可以考虑使用 ESLint 禁用注释 来处理这些特定情况,而不是完全禁用此规则。