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 中加入。
