sindresorhus/eslint-plugin-unicorn

Rule proposal: `no-useless-else`

Open

#987 opened on Jan 2, 2021

View on GitHub
 (3 comments) (8 reactions) (0 assignees)JavaScript (5,022 stars) (468 forks)user submission
help wantednew rule

Description

If the body of if contains one of these keywords, the else is moot:

  • throw
  • break
  • continue
  • return

This slightly overlaps with https://eslint.org/docs/rules/no-else-return

This was inspired by https://github.com/eslint/eslint/issues/13067.

This could be auto-fixed, but we should take care to properly move any comments.

Fail

if (foo) {
	throw new Error();
} else {
	console.log('🦄');
}

Pass

if (foo) {
	throw new Error();
} 

console.log('🦄');

Contributor guide