跳至主要内容

优先使用 as const

强制使用 as const 而不是字面量类型。

"plugin:@typescript-eslint/recommended" 中扩展 ESLint 配置文件 将启用此规则。

🔧

此规则报告的一些问题可以通过 --fix ESLint 命令行选项 自动修复。

💡

此规则报告的一些问题可以通过编辑器 建议 手动修复。

有两种常见的方法可以告诉 TypeScript 字面量值应该被解释为其字面量类型(例如 2),而不是通用原始类型(例如 number);

  • as const:告诉 TypeScript 自动推断字面量类型
  • as 与字面量类型:显式地告诉 TypeScript 字面量类型

as const 通常是首选,因为它不需要重新键入字面量值。此规则报告何时可以使用 as const 替换带有显式字面量类型的 as

.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/prefer-as-const": "error"
}
};

在游乐场中尝试此规则 ↗

示例

let bar: 2 = 2;
let foo = <'bar'>'bar';
let foo = { bar: 'baz' as 'baz' };
在游乐场中打开

选项

此规则不可配置。

何时不使用它

如果您不关心代码中使用哪种字面量断言样式,那么您将不需要此规则。

但是,请记住,不一致的样式可能会损害项目的可读性。我们建议为您的项目选择一个最适合的规则选项。

资源