0Pricing
JavaScript Academy · レッスン

RestとSpread — 配列とオブジェクトの定番パターン

残りの値やプロパティをまとめ、spreadでクローンやマージを行い、シンプルなパターンで隠れたミューテーションを避けます。

「RestとSpread — 配列とオブジェクトの定番パターン」はCoddyKit上の無料JavaScript Academyレッスンです。 これはレッスン2/2です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJavaScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 JavaScript Academyコースには全2レッスンが含まれています。

導入

目標: restで余分な要素をまとめ、spreadでコピーやマージができるようになることです。

  • 配列とオブジェクトのspread
  • 配列のrest(先頭と末尾)
  • オブジェクトのrest(一部のキーを除外)
  • ミューテーションとコピー
RestとSpread — 配列とオブジェクトの定番パターン — イラスト1

配列spreadの基本

[...arr]で配列をコピーできます。新しい配列の中でspreadを使うと、配列を結合できます。

// Array spread creates a shallow copy and merges arrays
const a = [1, 2];
const b = [3, 4];

const clone = [...a];
const merged = [...a, ...b];

console.log("a:", a);
console.log("clone:", clone);
console.log("merged:", merged);
RestとSpread — 配列とオブジェクトの定番パターン — イラスト2

配列restパターン

rest要素(…tail)は、残りの要素を新しい配列にまとめます。

// Array rest collects the remaining items
const nums = [10, 20, 30, 40];

const [head, ...tail] = nums;

console.log("head:", head);
console.log("tail:", tail);
RestとSpread — 配列とオブジェクトの定番パターン — イラスト3

オブジェクトspreadの基本

オブジェクトのマージでは順序が重要です。後のspreadが先のキーを上書きします。

// Object spread copies and merges; later keys win
const base = { theme: "light", compact: false };
const override = { compact: true };

const copy = { ...base };
const merged = { ...base, ...override };

console.log("copy:", copy);
console.log("merged:", merged);
RestとSpread — 配列とオブジェクトの定番パターン — イラスト4

オブジェクトrestパターン

{ a, ...rest }を使うと、いくつかのプロパティを取り出し、残りをまとめて保持できます。

// Object rest collects remaining properties
const user = { id: 7, name: "Ayla", role: "admin" };

const { id, ...publicInfo } = user;

console.log("id:", id);
console.log("publicInfo:", publicInfo);
RestとSpread — 配列とオブジェクトの定番パターン — イラスト5

コピーによるミューテーションの回避

値を変更するときは新しいオブジェクトを作成します。共有データを変更するよりも、意図が明確で安全です。

// Copy instead of mutating original data
const settings = { sound: true, volume: 5 };

// Mutating version (avoid in shared state)
// settings.volume = 6;

// Non-mutating: create an updated copy
const updated = { ...settings, volume: 6 };

console.log("settings:", settings);
console.log("updated:", updated);
RestとSpread — 配列とオブジェクトの定番パターン — イラスト6

オブジェクトrestのクイズ

クイックチェック: オブジェクトのrest

RestとSpread — 配列とオブジェクトの定番パターン — イラスト7

まとめ

まとめ: spreadで配列やオブジェクトをコピー・マージし、restで残りの要素をまとめました。変更を明確に保つため、ミューテーションよりもコピーを優先します。

RestとSpread — 配列とオブジェクトの定番パターン — イラスト8

よくある質問

「RestとSpread — 配列とオブジェクトの定番パターン」レッスンは無料ですか?

はい。「RestとSpread — 配列とオブジェクトの定番パターン」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、JavaScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 JavaScript Academyコースには全2レッスンが含まれています。

「RestとSpread — 配列とオブジェクトの定番パターン」で何を学びますか?

残りの値やプロパティをまとめ、spreadでクローンやマージを行い、シンプルなパターンで隠れたミューテーションを避けます。 ブラウザで直接実行するハンズオンコードでJavaScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

JavaScript Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJavaScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/2です。

「RestとSpread — 配列とオブジェクトの定番パターン」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJavaScript Academyレッスンでコードを書いて実行できますか?

はい。すべてのJavaScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 配列・オブジェクトの分割代入の基礎
  2. RestとSpread — 配列とオブジェクトの定番パターン
← JavaScript Academyに戻る