优先使用 as const
注意:此规则是
recommended
规则集的一部分。在
deno.json
中启用完整集合{ "lint": { "rules": { "tags": ["recommended"] } } }
使用 Deno CLI 启用完整集合
deno lint --rules-tags=recommended
通过将其添加到
deno.json
中的 include
或 exclude
数组,可以显式地将此规则包含或排除在当前标签中存在的规则之外。{ "lint": { "rules": { "include": ["prefer-as-const"], "exclude": ["prefer-as-const"] } } }
建议使用常量断言(as const
),而不是显式指定字面量类型或使用类型断言。
当声明一个基本字面量类型的新变量时,有三种方式:
- 添加显式类型注解
- 使用普通类型断言(如
as "foo"
或<"foo">
) - 使用常量断言(
as const
)
此 lint 规则建议使用常量断言,因为它通常会使代码更安全。有关常量断言的更多详细信息,请参阅官方手册。
无效示例
let a: 2 = 2; // type annotation
let b = 2 as 2; // type assertion
let c = <2> 2; // type assertion
let d = { foo: 1 as 1 }; // type assertion
有效示例
let a = 2 as const;
let b = 2 as const;
let c = 2 as const;
let d = { foo: 1 as const };
let x = 2;
let y: string = "hello";
let z: number = someVariable;