ES6 オブジェクト分割デフォルトパラメータ 質問する

ES6 オブジェクト分割デフォルトパラメータ 質問する

オブジェクトが部分的に定義されていることを気にせずに、デフォルト パラメータのオブジェクト分解を使用する方法があるかどうかを調べようとしています。次のことを考慮してください。

(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);
})();

これは関数パラメータに限定されず、あらゆる分解式で機能します。

おすすめ記事