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 } = {}) {}