ホームページ >ウェブフロントエンド >jsチュートリアル >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" }
ここでは、ユーザー オブジェクトからプロパティをコピーし、新しいプロパティの場所を追加しました。
例: 残りのパラメーターを含む関数
任意の数の引数を取る関数を作成していると想像してください。
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 の強力で多用途なツールです。要約すると:
これら 2 つの概念を理解していただければ幸いです。これにより、JavaScript コードがより簡潔になり、読みやすくなります。
コーディングを楽しんでください:)
以上がJavaScript のスプレッド演算子とレスト演算子の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。