0Pricing
JavaScript Academy · Lekcja

Rest i spread — idiomatyczne tablice i obiekty

Zbieranie pozostałych wartości i właściwości, klonowanie i scalanie za pomocą spread oraz unikanie ukrytych mutacji dzięki prostym wzorcom

Rest i spread — idiomatyczne tablice i obiekty to bezpłatna lekcja JavaScript Academy na CoddyKit. To lekcja 2 z 2. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej JavaScript Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs JavaScript Academy zawiera 2 lekcji w sumie.

Wprowadzenie

Cel: Używać rest do zbierania nadmiarowych elementów oraz spread do kopiowania i scalania.

  • Spread tablic i obiektów
  • Rest tablic (początek i koniec)
  • Rest obiektów (wykluczanie wybranych kluczy)
  • Modyfikowanie a kopiowanie
Rest i spread — idiomatyczne tablice i obiekty — ilustracja 1

Podstawy spread tablic

[...arr] kopiuje tablicę, a tablice można łączyć, rozpraszając je w nowej tablicy.

// 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 i spread — idiomatyczne tablice i obiekty — ilustracja 2

Wzorzec rest tablicy

Element rest (…tail) zbiera pozostałe elementy do nowej tablicy.

// 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 i spread — idiomatyczne tablice i obiekty — ilustracja 3

Podstawy spread obiektów

Scalanie obiektów zależy od kolejności: późniejsze elementy spread nadpisują wcześniejsze klucze.

// 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 i spread — idiomatyczne tablice i obiekty — ilustracja 4

Wzorzec rest obiektu

Proszę używać { a, ...rest }, aby pobrać kilka właściwości i zachować pozostałe razem.

// 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 i spread — idiomatyczne tablice i obiekty — ilustracja 5

Unikanie modyfikowania przez kopiowanie

Podczas zmieniania wartości należy utworzyć nowy obiekt; jest to czytelniejsze i bezpieczniejsze niż modyfikowanie współdzielonych danych.

// 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 i spread — idiomatyczne tablice i obiekty — ilustracja 6

Quiz: rest obiektu

Szybkie sprawdzenie: rest obiektu.

Rest i spread — idiomatyczne tablice i obiekty — ilustracja 7

Podsumowanie

Podsumowanie: Spread kopiuje i scala tablice oraz obiekty, a rest zbiera pozostałe elementy. Aby zmiany były jawne, należy preferować kopiowanie zamiast modyfikowania.

Rest i spread — idiomatyczne tablice i obiekty — ilustracja 8

Często zadawane pytania

Czy lekcja „Rest i spread — idiomatyczne tablice i obiekty” jest bezpłatna?

Tak — pełny tekst „Rest i spread — idiomatyczne tablice i obiekty” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu JavaScript Academy, przejdź na CoddyKit PRO. Kurs JavaScript Academy zawiera 2 lekcji w sumie.

Co nauczysz się w „Rest i spread — idiomatyczne tablice i obiekty”?

Zbieranie pozostałych wartości i właściwości, klonowanie i scalanie za pomocą spread oraz unikanie ukrytych mutacji dzięki prostym wzorcom Ćwiczysz JavaScript Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć JavaScript Academy?

Nie wymagamy żadnego doświadczenia. JavaScript Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 2.

Ile czasu zajmuje lekcja „Rest i spread — idiomatyczne tablice i obiekty”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji JavaScript Academy?

Tak. Każda lekcja JavaScript Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Podstawy destrukturyzacji tablic i obiektów
  2. Rest i spread — idiomatyczne tablice i obiekty
← Powrót do JavaScript Academy