JavaScriptの関数に引数が複数ある場合、オブジェクト形式にすると、値の意味がわかりやすくてとても便利です。 さらに、引数に初期値を設定してあげれば、関数の設定を変えたいときだけ引数を書けば良いので、より便利に関数を使うことができます。 const func = ({ hoge = 'foo' } = {}) => console.log(hoge); func(); // 'foo' func({ hoge: 'bar' }); // 'bar' こんな感じ。 関数func()の実引数を空にしたときは、コンソールログに文字列fooが表示され、オブジェクト形式でhogeプロパティの値を設定すると、そのプロパティ値が適用されるので、文字列barが表示されます。 便利ですね。 でも、なぜこのような挙動になるのでしょうか?? 分割代入でオブジェクトの初期値を設定