Skip to content
← Back to rules

typescript/no-non-null-assertion 限制

An auto-fix is available for this rule.

它的作用

禁止使用 ! 后缀操作符进行非空断言。

为什么这是不好的?

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

参考资料