Skip to content
← Back to rules

typescript/prefer-ts-expect-error 严格

An auto-fix is available for this rule.

它的作用

强制使用 @ts-expect-error 而非 @ts-ignore

为什么这是不好的?

TypeScript 允许通过在出错行之前添加以 @ts-ignore@ts-expect-error 开头的注释来抑制该行的所有错误。 这两个指令的行为相同,但 @ts-expect-error 在放置于本无错误的行之前时会引发类型错误。

这意味着 @ts-ignore 很容易被遗忘,即使原本要抑制的错误已经被修复,它们仍可能保留在代码中。 这很危险,因为如果该行之后出现新的错误,将会被这些被遗忘的 @ts-ignore 所抑制,从而被忽略。

示例

此规则的 错误 代码示例:

ts
// @ts-ignore
const str: string = 1;

/**
 * 解释性注释
 *
 * @ts-ignore */
const multiLine: number = "value";

此规则的 正确 代码示例:

ts
/**
 * 解释性注释
 *
 * @ts-expect-error */
const multiLine: number = "value";

如何使用

通过配置文件或 CLI 启用此规则,可以使用以下方式:

json
{
  "rules": {
    "typescript/prefer-ts-expect-error": "error"
  }
}
bash
oxlint --deny typescript/prefer-ts-expect-error

参考资料