Skip to content
← Back to rules

eslint/no-extra-boolean-cast 正しさ

This rule is turned on by default.
🛠️💡 An auto-fix and a suggestion are available for this rule for some violations.

何を行うか

このルールは、不要なブール型キャストを禁止します。

なぜ問題なのか

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

参照