unicorn/no-object-as-default-parameter 細心な
何を行うか
パラメータのデフォルト値としてオブジェクトリテラルを使用することを禁止します。
なぜ悪いのか
デフォルトパラメータは、オブジェクトリテラルを通じて関数に渡すべきではありません。foo = {a: false} のパラメータは、1つのオプションしか使用しない限り問題ありません。しかし、追加のオプションが追加されると、1つのオプションだけを渡すときに {a: true} といった形で、foo = {a: false, b: true} の全体を置き換えてしまうリスクがあります。このため、代わりにオブジェクトの解構文を使用するべきです。
例
このルールに対して誤りなコードの例:
javascript
function foo(foo = { a: false }) {}このルールに対して正しいコードの例:
javascript
function foo({ a = false } = {}) {}使用方法
設定ファイルまたは CLI でこのルールを有効化するには、以下のように使用できます:
json
{
"rules": {
"unicorn/no-object-as-default-parameter": "error"
}
}bash
oxlint --deny unicorn/no-object-as-default-parameter