noConstEnum
诊断类别:lint/suspicious/noConstEnum
¥Diagnostic Category: lint/suspicious/noConstEnum
自从:v1.0.0
¥Since: v1.0.0
禁止 TypeScript const enum
¥Disallow TypeScript const enum
考虑使用 而不是对象。常量枚举是应该在使用站点内联的枚举。它们的使用可能导致导入不存在的值(因为 const 枚举被删除)。
¥Const enums are enums that should be inlined at use sites.
Const enums are not supported by bundlers and are incompatible with the isolatedModules
mode.
Their use can lead to import nonexistent values (because const enums are erased).
因此,库作者和打包器用户不应使用 const 枚举。
¥Thus, library authors and bundler users should not use const enums.
¥Examples
¥Invalid
code-block.ts:1:1 lint/suspicious/noConstEnum FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ The enum declaration should not be const
> 1 │ const enum Status {
│ ^^^^^^^^^^^^^^^^^^^
> 2 │ Open,
> 3 │ Close,
> 4 │ }
│ ^
5 │
ℹ Const enums are not supported by bundlers and are incompatible with the ‘isolatedModules’ mode. Their use can lead to import inexistent values.
ℹ See TypeScript Docs for more details.
ℹ Safe fix: Turn the const enum into a regular enum.
1 │ const·enum·Status·{
│ ------
¥Valid
¥Related links