ホームページ >ウェブフロントエンド >jsチュートリアル >スプレッド構文と残りのパラメーター: 違いは何ですか?

スプレッド構文と残りのパラメーター: 違いは何ですか?

DDD
DDDオリジナル
2024-10-25 07:35:02826ブラウズ

Spread Syntax vs. Rest Parameter: What's the Difference?

スプレッド構文と残りのパラメーター: 違いを理解する

ES2015 の 2 つの新機能、スプレッド構文と残りのパラメーターは、次の強力な方法を提供します。配列とオブジェクトを操作します。どちらも似ているように見えますが、異なる目的を果たし、それぞれに独自の機能があります。

スプレッド構文

スプレッド構文 (3 つのドット「...」で表されます) ) を使用すると、反復可能 (配列やオブジェクトなど) を別の反復可能内の個々の要素に分散または拡張できます。この機能を使用すると、複数の配列またはオブジェクトを新しいものに簡単にマージまたは結合できます。

たとえば、次のコードについて考えてみましょう。

<code class="js">var abc = ['a', 'b', 'c'];
var def = ['d', 'e', 'f'];
var alpha = [ ...abc, ...def ];
console.log(alpha); // alpha == ['a', 'b', 'c', 'd', 'e', 'f'];</code>

このスニペットでは、... abc および ...def スプレッド構文は、abc 配列と def 配列を個々の要素に展開し、両方の配列のすべての要素を含む新しいアルファ配列を作成します。

Rest Parameter

一方、残りのパラメータ (識別子が前に付く 3 つのドット "..." で示される) は、関数に渡された残りの引数を 1 つの配列に収集します。残りのパラメータは、関数のパラメータ リストの最後のパラメータである必要があります。

動作中の残りのパラメータの例は次のとおりです。

<code class="js">function sumAll(...numbers) {
  let total = 0;
  for (let num of numbers) {
    total += num;
  }
  return total;
}

let result = sumAll(1, 2, 3, 4, 5);
console.log(result); // result == 15</code>

このコードでは、...数値rest パラメーターは、sumAll 関数に渡された残りの引数 (この場合は 1、2、3、4、および 5) を収集し、単一の数値配列を作成します。

以上がスプレッド構文と残りのパラメーター: 違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。