JavaScript では、配列から可変数の引数を送信する機能など、関数に引数を渡す際の柔軟性が提供されます。
Python と同様、JavaScript には関数に渡されるすべての引数を表す特別な引数オブジェクトがあります。このオブジェクトには、各引数がインデックス可能なプロパティとして含まれています。例:
function func() { console.log(arguments.length); for (arg in arguments) console.log(arg); } func('a', 'b', 'c', 'd'); // prints 4 and 'a', 'b', 'c', 'd'
ただし、配列を引数として関数に直接渡すと、望ましい結果は得られません。代わりに、配列自体が単一の引数として扱われます。配列を個別の引数として渡すには、apply() メソッドを使用できます。
var arr = ['a', 'b', 'c']; function func() { console.log(this); // 'test' console.log(arguments.length); // 3 for (var i = 0; i < arguments.length; i++) { console.log(arguments[i]); } } func.apply('test', arr);
これにより、'test'、3、'a'、'b'、および 'c' が出力されます。
ES6 以降、JavaScript にはスプレッド構文 (...) が導入され、同じ結果を達成するためのより簡潔な方法が提供されます。
func(...arr);
これにより、arr の要素が関数に渡される個々の引数に展開されます。
名前付きパラメーターとスプレッド構文を組み合わせて、一部の引数を指定することもできます。配列として扱う必要があります:
function func(first, second, ...theRest) { //... }
JavaScript では、引数オブジェクトを通じて、または ES6 以降ではスプレッド構文を使用して、関数に可変数の引数を渡すことができます。この柔軟性により、任意の数の入力を処理できる汎用関数の作成など、さまざまなユースケースが可能になります。
以上が可変数の引数を JavaScript 関数に渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。