Skip to content

Latest commit

 

History

History
125 lines (94 loc) · 1.46 KB

no-useless-undefined.md

File metadata and controls

125 lines (94 loc) · 1.46 KB

Disallow useless undefined

This rule is fixable.

Fail

let foo = undefined;
const {foo = undefined} = bar;
const noop = () => undefined;
function foo() {
	return undefined;
}
function* foo() {
	yield undefined;
}
function foo(bar = undefined) {
}
function foo({bar = undefined}) {
}
foo(undefined);

Pass

let foo;
const {foo} = bar;
const noop = () => {};
function foo() {
	return;
}
function* foo() {
	yield;
}
function foo(bar) {
}
function foo({bar}) {
}
foo();

Options

Type: object

checkArguments

Type: boolean
Default: true

Forbid the use of undefined at the end of function call arguments. Pass checkArguments: false to disable checking them.

Fail

// eslint unicorn/no-useless-undefined: ["error", {"checkArguments": true}]
foo(bar, baz, undefined);

Pass

// eslint unicorn/no-useless-undefined: ["error", {"checkArguments": false}]
foo(bar, baz, undefined);

Conflict with ESLint array-callback-return rule

We recommend setting the ESLint array-callback-return rule option allowImplicit to true:

{
	"rules": {
		"array-callback-return": [
			"error",
			{
				"allowImplicit": true
			}
		]
	}
}