Skip to content

Latest commit

 

History

History
38 lines (27 loc) · 1.52 KB

prefer-default-parameters.md

File metadata and controls

38 lines (27 loc) · 1.52 KB

Prefer default parameters over reassignment

💼 This rule is enabled in the ✅ recommended config.

🔧💡 This rule is automatically fixable by the --fix CLI option and manually fixable by editor suggestions.

Instead of reassigning a function parameter, default parameters should be used. The foo = foo || 123 statement evaluates to 123 when foo is falsy, possibly leading to confusing behavior, whereas default parameters only apply when passed an undefined value. This rule only reports reassignments to literal values.

You should disable this rule if you want your functions to deal with null and other falsy values the same way as undefined. Default parameters are exclusively applied when undefined is received.. However, we recommend moving away from null.

Fail

function abc(foo) {
	foo = foo || 'bar';
}
function abc(foo) {
	const bar = foo || 'bar';
}

Pass

function abc(foo = 'bar') {}
function abc(foo) {
	foo = foo || bar();
}