可変数の引数を JavaScript 関数に渡すにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-16 01:44:03
オリジナル
506 人が閲覧しました

How Can I Pass a Variable Number of Arguments to JavaScript Functions?

JavaScript 関数に可変数の引数を渡す

JavaScript では、配列から可変数の引数を送信する機能など、関数に引数を渡す際の柔軟性が提供されます。

引数による変数 Arity

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 )

ES6 以降、JavaScript にはスプレッド構文 (...) が導入され、同じ結果を達成するためのより簡潔な方法が提供されます。

func(...arr);
ログイン後にコピー

これにより、arr の要素が関数に渡される個々の引数に展開されます。

スプレッド構文を使用した名前付きパラメーター (ES6 )

名前付きパラメーターとスプレッド構文を組み合わせて、一部の引数を指定することもできます。配列として扱う必要があります:

function func(first, second, ...theRest) {
  //...
}
ログイン後にコピー

結論

JavaScript では、引数オブジェクトを通じて、または ES6 以降ではスプレッド構文を使用して、関数に可変数の引数を渡すことができます。この柔軟性により、任意の数の入力を処理できる汎用関数の作成など、さまざまなユースケースが可能になります。

以上が可変数の引数を JavaScript 関数に渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート