寻求禁用TypeScript中危险as类型断言的ESLint规则
禁用TypeScript类型断言的ESLint规则
你可以使用以下ESLint规则来限制或禁用as类型断言:
@typescript-eslint/no-type-assertion:直接禁用所有类型断言(包括as和尖括号语法),这是最彻底的方式,完全杜绝类型断言的使用。@typescript-eslint/no-unnecessary-type-assertion:禁止不必要的类型断言,仅标记TypeScript本身可推断出类型的断言。若要覆盖你示例中“不完整对象断言为完整类型”的场景,需配合TypeScript严格模式(如strictNullChecks)使用。@typescript-eslint/consistent-type-assertions:规范类型断言用法,可通过配置禁止对对象字面量使用类型断言,正好覆盖你示例中的风险场景。
示例ESLint配置:
module.exports = { rules: { // 完全禁用所有类型断言 "@typescript-eslint/no-type-assertion": "error", // 禁止不必要的断言(配合严格模式效果更好) "@typescript-eslint/no-unnecessary-type-assertion": "error", // 禁止对对象字面量使用类型断言 "@typescript-eslint/consistent-type-assertions": [ "error", { assertionStyle: "as", objectLiteralTypeAssertions: "never" } ] } };
内容的提问来源于stack exchange,提问作者Peter Mølgaard Pallesen
相关产品推荐
相关产品推荐

