no-unused-expressions
未使用の式を許可しません。
このルールは、ベースのeslint/no-unused-expressions
ルールを拡張します。TypeScript固有の式をサポートします。
- モジュール宣言(
"use strict"
など)内のディレクティブを未使用ではないものとしてマークします。 - 次の式を、ラップされた値の式が未使用の場合、未使用としてマークします。
- アサーション式:
x as number;
、x!;
、<number>x;
- インスタンス化式:
Set<number>;
- アサーション式:
型式はランタイムの副作用をまったく持ちませんが(つまり、x!;
はx;
と同じです)、テスト目的で型をアサートするために使用できます。
例
- ❌ 不正
- ✅ 正しい
Set<number>;
1 as number;
window!;
プレイグラウンドで開く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';
}
プレイグラウンドで開くオプション
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"
}
};
プレイグラウンドでこのルールを試す ↗