typescript/no-meaningless-void-operator 正しさ
何をしますか
このルールは、引数がすでに void または undefined 型である場合に void 演算子を使用することを禁止します。
なぜ問題なのか
void 演算子は、式を実行し、その結果を undefined に強制的にするときに役立ちます。しかし、すでに void または undefined 型の式に対して void を使用するのは意味がなく、コードに不要な複雑さを加えるだけです。
例
このルールに違反する 誤り の例:
ts
function foo(): void {
return;
}
void foo(); // 意味がない。`foo()` はすでに `void` を返す
void undefined; // 意味がない。`undefined` はすでに `undefined` である
async function bar() {
void (await somePromise); // `somePromise` が `void` に解決される場合、意味がない
}このルールに従う 正しい 例:
ts
function getValue(): number {
return 42;
}
void getValue(); // 意味がある。`number` を `void` に変換する
void console.log("hello"); // 意味がある。`console.log` は `undefined` を返すが、明示的にしたい場合
function processData() {
// 処理の内容
}
processData(); // 戻り値に興味がないため、`void` は不要設定
このルールは、以下のプロパティを持つ設定オブジェクトを受け入れます。
checkNever
型: boolean
デフォルト: false
型が never である式に void が適用された場合もチェックするかどうか。
使用方法
設定ファイルまたは CLI でこのルールを 有効化 するには、次のように使用できます:
json
{
"rules": {
"typescript/no-meaningless-void-operator": "error"
}
}bash
oxlint --type-aware --deny typescript/no-meaningless-void-operator