跳至内容

unicorn/no-object-as-default-parameter 迂腐的

作用

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

为什么这样做不好?

默认参数不应通过对象字面量传递给函数。若只使用一个选项,则 foo = {a: false} 参数可以正常工作。一旦添加其他选项,就有可能只传递一个选项:{a: true},从而替换整个 foo = {a: false, b: true} 对象。因此,应使用对象解构。

示例

此规则的错误代码示例

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

此规则的正确代码示例

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

参考

已根据 MIT 许可证发布。