Skip to content
← Back to rules

unicorn/no-object-as-default-parameter Pedantic

它的作用

禁止将对象字面量用作参数的默认值。

为什么这不好?

默认参数不应通过对象字面量传递给函数。foo = {a: false} 这种参数在只使用一个选项时没有问题。一旦添加额外选项,当你只传入一个选项:{a: true} 时,就有可能把整个 foo = {a: false, b: true} 对象替换掉。因此,应改用对象解构。

示例

以下是此规则的错误代码示例:

javascript
function foo(foo = { a: false }) {}

以下是此规则的正确代码示例:

javascript
function foo({ a = false } = {}) {}

如何使用

To enable this rule using the config file or in the CLI, you can use:

json
{
  "rules": {
    "unicorn/no-object-as-default-parameter": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  rules: {
    "unicorn/no-object-as-default-parameter": "error",
  },
});
bash
oxlint --deny unicorn/no-object-as-default-parameter

版本

此规则于 v0.0.16 中加入。

参考资料