Rule: unnecessary-else
Disallows else
blocks following if
blocks ending with a break
, continue
, return
, or throw
statement.
Rationale
When an if
block is guaranteed to exit control flow when entered,
it is unnecessary to add an else
statement.
The contents that would be in the else
block can be placed after the end of the if
block.
Config
You can optionally specify the option "allow-else-if"
to allow “else if” statements.
Config examples
"unnecessary-else": true
"unnecessary-else": [true, {"allow-else-if": true}]
Schema
{ "type": "object", "properties": { "allow-else-if": { "type": "boolean" } } }
Code examples:
Disallows "else" following "if" blocks ending with "return", "break", "continue" or "throw" statement.
"rules": { "unnecessary-else": true }
Passes
if (someCondition()) {
return;
}
// some code here
if (someCondition()) {
continue;
}
// some code here
if (someCondition()) {
throw;
}
// some code here
if (someCondition()) {
break;
}
// some code here
Fails
if (someCondition()) {
return;
} else {
// some code here
}
if (someCondition()) {
break;
} else {
// some code here
}
if (someCondition()) {
throw;
} else {
// some code here
}
if (someCondition()) {
continue;
} else {
// some code here
}