メインコンテンツにスキップ

consistent-return

return文で、常に値を指定するか、決して値を指定しないかのいずれかを必須にします。

💭

このルールでは、 型情報 を実行する必要があります。

このルールは、基本のeslint/consistent-returnルールを拡張したものです。このバージョンでは、voidまたはPromise<void>を返す関数のサポートが追加されています。

警告

可能な場合は、このルールではなく、tsconfigの`noImplicitReturns`オプションを使用することをお勧めします。 `noImplicitReturns`は、TSの型情報と制御フロー分析によって強化されているため、このルールよりもカバレッジが優れています。

function foo(): undefined {}
function bar(flag: boolean): undefined {
if (flag) return foo();
return;
}

async function baz(flag: boolean): Promise<undefined> {
if (flag) return;
return foo();
}
プレイグラウンドで開く

オプション

eslint/consistent-returnのオプションを参照してください。

使用方法

.eslintrc.cjs
module.exports = {
"rules": {
// Note: you must disable the base rule as it can report incorrect errors
"consistent-return": "off",
"@typescript-eslint/consistent-return": "error"
}
};

プレイグラウンドでこのルールを試す ↗

使用しない場合

型チェックされたLintルールは、従来のLintルールよりも強力ですが、型チェックされたLintingを設定する必要があります。型チェックされたルールを有効にした後にパフォーマンスの低下が発生した場合は、パフォーマンスのトラブルシューティングを参照してください。

リソース

ESLintコアから❤️を込めて引用。