非空类型断言风格
强制使用非空断言而不是显式类型转换。
🎨
扩展 "plugin:@typescript-eslint/stylistic-type-checked"
在 ESLint 配置 中启用此规则。
🔧
此规则报告的一些问题可以通过 --fix
ESLint 命令行选项 自动修复。
💭
此规则需要 类型信息 才能运行。
有两种常见的在不使用 null
或 undefined
的情况下向 TypeScript 断言值是其类型的方法
!
: 非空断言as
: 具有巧合等效类型的传统类型断言
!
非空断言通常更受欢迎,因为它们需要更少的代码,并且随着类型的变化,它们更难出现不同步的情况。此规则报告 as
转换与 !
转换执行相同操作的情况,并建议将代码修复为 !
。
.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/non-nullable-type-assertion-style": "error"
}
};
在游乐场中尝试此规则 ↗
示例
- ❌ 错误
- ✅ 正确
选项
此规则不可配置。
何时不使用它
如果您不介意使用不必要的冗长类型断言,您可以避免此规则。
类型检查的 lint 规则比传统的 lint 规则更强大,但也需要配置 类型检查的 lint。如果您在启用类型检查规则后遇到性能下降,请参阅 性能故障排除。