eslint/no-extra-boolean-cast 正しさ
何を行うか
このルールは、不要なブール型キャストを禁止します。
なぜ問題なのか
if 文の条件式など、式の結果がすでにブール値に強制変換される文脈では、二重否定(!!)や Boolean コンストラクタを使用してブール型にキャストすることは不要です。
例
このルールに対して 誤り なコードの例:
javascript
var foo = !!!bar;
var foo = Boolean(!!bar);
if (!!foo) {
}
if (Boolean(foo)) {
}
// "enforceForInnerExpressions" オプションが有効な場合
if (!!foo || bar) {
}このルールに対して 正しい コードの例:
javascript
var foo = !bar;
var foo = Boolean(bar);
if (foo) {
}
if (foo) {
}
// "enforceForInnerExpressions" オプションが有効な場合
if (foo || bar) {
}設定
このルールは以下のプロパティを持つ設定オブジェクトを受け入れます:
enforceForInnerExpressions
type: boolean
default: false
true に設定された場合、デフォルトの文脈のチェックに加えて、ブール文脈で使用される式の中に不要なブール型キャストがないか確認します。以下の例を参照してください。デフォルトは false であり、つまりこのルールはデフォルトでは内部式内の不要なブール型キャストについて警告しません。
使用方法
設定ファイルまたは CLI でこのルールを 有効化 するには、以下のように使用できます:
json
{
"rules": {
"no-extra-boolean-cast": "error"
}
}bash
oxlint --deny no-extra-boolean-cast