禁止未使用表达式
禁止使用未使用的表达式。
此规则扩展了基础规则 eslint/no-unused-expressions
。它支持 TypeScript 特定的表达式
- 将模块声明中的指令(如
"use strict"
等)标记为未使用。 - 如果其包装的值表达式未使用,则将以下表达式标记为未使用
- 断言表达式:
x as number;
,x!;
,<number>x;
- 实例化表达式:
Set<number>;
- 断言表达式:
虽然类型表达式从不具有运行时副作用(即,x!;
与 x;
相同),但它们可用于断言类型以进行测试。
示例
- ❌ 错误
- ✅ 正确
Set<number>;
1 as number;
window!;
在 Playground 中打开function getSet() {
return Set;
}
// Funtion calls are allowed, so type expressions that wrap function calls are allowed
getSet()<number>;
getSet() as Set<unknown>;
getSet()!;
// Namespaces can have directives
namespace A {
'use strict';
}
在 Playground 中打开选项
参见 eslint/no-unused-expressions
选项.
如何使用
.eslintrc.cjs
module.exports = {
"rules": {
// Note: you must disable the base rule as it can report incorrect errors
"no-unused-expressions": "off",
"@typescript-eslint/no-unused-expressions": "error"
}
};
在 playground 中尝试此规则 ↗