オブジェクトが部分的に定義されていることを心配せずに、デフォルトのパラメーターのオブジェクトの構造化を使用する方法があるかどうかを把握しようとしています。以下を考慮してください。
(function test({a, b} = {a: "foo", b: "bar"}) {
console.log(a + " " + b);
})();
たとえば、これを{a: "qux"}
で呼び出すと、本当に欲しいのはqux undefined
であるときに、コンソールにqux bar
が表示されます。オブジェクトのすべてのプロパティを手動で確認せずにこれを達成する方法はありますか?
はい。破壊にも「デフォルト」を使用できます。
(function test({a = "foo", b = "bar"} = {}) {
console.log(a + " " + b);
})();
これは関数のパラメーターに制限されませんが、すべての構造化式で機能します。