ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript のスプレッド演算子とレスト演算子

JavaScript のスプレッド演算子とレスト演算子

DDD
リリース: 2024-09-13 18:17:30
オリジナル
792 人が閲覧しました

Spread and Rest Operators in JavaScript

スナックストーリー:
スナックが入ったバスケットがあるとします。

const snacks = ['apple', 'banana', 'chocolate'];
ログイン後にコピー

ここで、これらのスナックを友達と共有したいと考えています。ただし、かご全体を与えるのではなく、おやつを取り出して 1 つずつ与えます。

console.log(...snacks);  // Output: apple banana chocolate
ログイン後にコピー

... (スプレッド) 演算子は、バスケットからスナックを取り出してテーブルに広げるようなものです。友達が個別に受け取れるようになりました!

一方、友達がさらに多くのスナックを持ってきた場合は、... (休憩) 演算子を使用して、それらをすべて 1 つの大きなバスケットに集めることができます。

function collectSnacks(...moreSnacks) {
  console.log(moreSnacks);
}

collectSnacks('cookie', 'chips', 'juice');  // Output: ['cookie', 'chips', 'juice']
ログイン後にコピー

ここで、... オペレーターはすべてのスナックを新しいバスケットに集めます。これが残り演算子の仕組みです!

JavaScript を初めて使用する場合は、スプレッド演算子とレスト演算子という 2 つの特別な構文要素に遭遇したことがあるかもしれません。どちらも 3 つの点 (...) で同じように見えますが、使用方法は異なります。簡単な例で詳しく見てみましょう!

1.スプレッド演算子とは何ですか?
スプレッド演算子 (...) は、配列またはオブジェクトを個々の要素に展開するために使用されます。これは、配列またはオブジェクトをそのコンポーネントに解凍するようなものです。

例: 配列の展開
数値の配列があり、それらを個別に関数に渡したいとします。

const numbers = [1, 2, 3];
console.log(...numbers);  // Output: 1 2 3
ログイン後にコピー

スプレッド演算子を使用して配列要素を分散できます!

例: 配列の結合
2 つの配列があり、それらをマージしたい場合は、スプレッド演算子を使用すると簡単になります。

const array1 = [1, 2, 3];
const array2 = [4, 5, 6];

const mergedArray = [...array1, ...array2];
console.log(mergedArray);  // Output: [1, 2, 3, 4, 5, 6]
ログイン後にコピー

これは、array1 と array2 のすべての要素を 1 つの新しい配列にレイアウトするようなものです。

例: オブジェクトのコピー
スプレッド演算子をオブジェクトで使用することもできます:

const user = { name: "Ahmed", age: 25 };
const updatedUser = { ...user, location: "Bengaluru" };

console.log(updatedUser);
// Output: { name: "Ahmed", age: 25, location: "Bengaluru" }
ログイン後にコピー

ここでは、ユーザー オブジェクトからプロパティをコピーし、新しいプロパティの場所を追加しました。

  1. 休息演算子とは何ですか? 残りの演算子は、スプレッド演算子の逆です。配列またはオブジェクトを展開する代わりに、複数の要素を配列またはオブジェクトに収集します。

例: 残りのパラメーターを含む関数
任意の数の引数を取る関数を作成していると想像してください。

function addNumbers(...nums) {
  return nums.reduce((sum, current) => sum + current, 0);
}

console.log(addNumbers(1, 2, 3, 4));  // Output: 10
ログイン後にコピー

この場合、残りの演算子 ...nums はすべての引数を配列に収集し、複数の値の操作を容易にします。

例: REST による構造化
配列を分割するときに残りの演算子を使用することもできます:

const [first, ...rest] = [1, 2, 3, 4];
console.log(first);  // Output: 1
console.log(rest);   // Output: [2, 3, 4]
ログイン後にコピー

ここでは、まず配列の最初の要素を取得し、残りの要素を新しい配列に収集します。

結論
スプレッド演算子とレスト演算子は、JavaScript の強力で多用途なツールです。要約すると:

  • Spread (...) は、配列またはオブジェクトを個々の要素に展開します。
  • Rest (...) は、複数の要素を配列またはオブジェクトに収集します。

これら 2 つの概念を理解していただければ幸いです。これにより、JavaScript コードがより簡潔になり、読みやすくなります。

コーディングを楽しんでください:)

以上がJavaScript のスプレッド演算子とレスト演算子の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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