unicorn/prefer-default-parameters Style
What it does
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.
Why is this bad?
Using default parameters makes it clear that a parameter has a default value, improving code readability and maintainability.
Examples
Examples of incorrect code for this rule:
function abc(foo) {
foo = foo || 'bar';
}
function abc(foo) {
const bar = foo || 'bar';
}Examples of correct code for this rule:
function abc(foo = 'bar') {}
function abc(bar = 'bar') {}
function abc(foo) {
foo = foo || bar();
}How to use
To enable this rule using the config file or in the CLI, you can use:
{
"rules": {
"unicorn/prefer-default-parameters": "error"
}
}oxlint --deny unicorn/prefer-default-parameters