JavaScript 関数の引数の数が決まっていない(可変)場合の書き方

関数の引数の数が決まっていないケースがあります。

その場合、以下のようにスプレッド演算子(…)を使います。

const myFunc = (...functions) => {
	functions.forEach(f => {
  	f();
  });
}

// 実行したい関数
const hogeFunc = () => console.log('hoge');
const fooFunc = () => console.log('foo');
const barFunc = () => console.log('bar');

myFunc(hogeFunc, fooFunc, barFunc);

myFunc には実行したい関数を引数に渡すことができます。

引数に渡す引数はいくつでもかまわないので …functions とします。

すると、functions は引数の配列になるので、ループで回して各関数を実行しています。

今は3つの関数を引数に渡していますが、4つでも5つでも可能です。