Skip to content
← Back to rules

unicorn/prefer-default-parameters 风格

An auto-fix is available for this rule.

它做了什么

应使用默认参数代替对函数参数的重新赋值。foo = foo || 123 语句在 foo 为假值时会评估为 123,这可能导致令人困惑的行为;而默认参数仅在传入 undefined 值时才生效。 此规则仅报告对字面量值的重新赋值。

如果你希望函数对 null 及其他假值的处理方式与 undefined 相同,则应禁用此规则。 默认参数仅在接收到 undefined 时应用。更多信息。 然而,我们建议逐步弃用 null

为什么这是不好的?

使用默认参数能清晰地表明某个参数具有默认值,从而提高代码的可读性和可维护性。

示例

此规则的 错误 示例:

js
function abc(foo) {
  foo = foo || "bar";
}

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

此规则的 正确 示例:

js
function abc(foo = "bar") {}

function abc(bar = "bar") {}

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

如何使用

通过配置文件或 CLI 启用 此规则,可以使用:

json
{
  "rules": {
    "unicorn/prefer-default-parameters": "error"
  }
}
bash
oxlint --deny unicorn/prefer-default-parameters

参考资料