优先使用 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;