Skip to content

noNegationElse

¥Summary

¥How to configure

biome.json
{
"linter": {
"rules": {
"style": {
"noNegationElse": "error"
}
}
}
}

¥Description

如果 if 语句有 else 子句,则禁止在 if 语句的条件中使用否定。

¥Disallow negation in the condition of an if statement if it has an else clause.

¥Examples

¥Invalid

if (!cond) { f();} else { g();}
code-block.js:1:1 lint/style/noNegationElse  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ℹ Invert blocks when performing a negation test.

> 1 │ if (!cond) { f();} else { g();}
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │

ℹ Safe fix: Invert the condition and the blocks.

1 │ - if·(!cond)·{·f();}·else·{·g();}
1 │ + if·(cond)·{·g();}·else·{·f();}
2 2 │

!cond ? 0 : 1
code-block.js:1:1 lint/style/noNegationElse  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ℹ Invert blocks when performing a negation test.

> 1 │ !cond ? 0 : 1
│ ^^^^^^^^^^^^^
2 │

ℹ Safe fix: Invert the condition and the blocks.

1 │ - !cond·?·0·:·1
1 │ + cond·?·1·:·0
2 2 │

¥Valid

if (!cond) { f(); }
cond ? 1 : 0
if (!cond) { f(); }
if (!!val) { f(); } else { g(); }

¥Related links