オブジェクトが部分的に定義されていることを気にせずに、デフォルト パラメータのオブジェクト分解を使用する方法があるかどうかを調べようとしています。次のことを考慮してください。
(function test({a, b} = {a: "foo", b: "bar"}) {
console.log(a + " " + b);
})();
{a: "qux"}
たとえば、これを で呼び出すと、qux undefined
コンソールには が表示されます。実際に必要なのは ですqux bar
。オブジェクトのすべてのプロパティを手動で確認せずにこれを実現する方法はありますか?
ベストアンサー1
はい。デストラクチャリングでも「デフォルト」を使用できます。
(function test({a = "foo", b = "bar"} = {}) {
console.log(a + " " + b);
})();
これは関数パラメータに限定されず、あらゆる分解式で機能します。