typescript/no-non-null-assertion 限制
它的作用
禁止使用 ! 后缀操作符进行非空断言。
为什么这是不好的?
TypeScript 的 ! 非空断言操作符向类型系统声明某个表达式是非空的,即既不为 null 也不为 undefined。使用断言向类型系统传递新信息,通常表明代码在类型安全方面不够完备。通常更好的做法是重构程序逻辑,使 TypeScript 能够正确理解值可能为空的情况。
示例
此规则的 错误 代码示例:
ts
x!;
x!.y;
x.y!;此规则的 正确 代码示例:
ts
x;
x?.y;
x.y;如何使用
通过配置文件或 CLI 启用 此规则,可以使用:
json
{
"rules": {
"typescript/no-non-null-assertion": "error"
}
}bash
oxlint --deny typescript/no-non-null-assertion