JavaScript Academy · Lektion

Kloning och sammanslagning — spread och Object.assign

Klona och slå samman objekt och arrayer med spread och Object.assign; förstå ytlig kopiering och ordningen för överskrivning.

Lektion 2 av 28 steg

Kloning och sammanslagning — spread och Object.assign är en gratis lektion i JavaScript Academy på CoddyKit. Detta är lektion 2 av 2. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för JavaScript Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i JavaScript Academy innehåller totalt 2 lektioner.

Introduktion

Mål: Klona och sammanfoga objekt och arrayer på ett säkert sätt.

  • Spread för kloning och sammanfogning
  • Object.assign
  • Ordning vid överskrivning
  • Begränsningen hos ytliga kopior
Kloning och sammanslagning — spread och Object.assign — illustration 1

Spread: klona objekt

Använd {...obj} för en ytlig klon. När du redigerar klonen ändras inte toppnivåfälten i originalet.

// Shallow clone with object spread
const user = { name: "Ayla", level: 1 };
const clone = { ...user };

clone.level = 2;

console.log("Original:", user);
console.log("Clone:", clone);
Kloning och sammanslagning — spread och Object.assign — illustration 2

Object.assign: klona

Object.assign({}, obj) skapar också en ytlig klon. Undvik att ändra källan genom att tilldela till ett tomt objekt.

// Shallow clone with Object.assign
const settings = { theme: "dark", compact: false };
const copy = Object.assign({}, settings);

copy.compact = true;

console.log("Settings:", settings);
console.log("Copy:", copy);
Kloning och sammanslagning — spread och Object.assign — illustration 3

Sammanfoga: ordningen spelar roll

Sammanfogning är ordningskänslig: senare källor skriver över tidigare nycklar (b blir 9 här).

// Merge: later keys overwrite earlier ones
const base = { a: 1, b: 2 };
const extra = { b: 9, c: 3 };

const mergedSpread = { ...base, ...extra };
const mergedAssign = Object.assign({}, base, extra);

console.log("Spread merged:", mergedSpread);
console.log("Assign merged:", mergedAssign);
Kloning och sammanslagning — spread och Object.assign — illustration 4

Array-spread: klona och sammanfoga

[...arr] klonar en array. Kombinera arrayer med [...a, ...b] utan att ändra dem.

// Arrays: clone and merge with spread
const nums = [1, 2, 3];
const cloneNums = [...nums];

const more = [4, 5];
const mergedNums = [...nums, ...more];

console.log("nums:", nums);
console.log("clone:", cloneNums);
console.log("merged:", mergedNums);
Kloning och sammanslagning — spread och Object.assign — illustration 5

Ytlig kontra djup kopia

Ytlig kopia: kapslade objekt och arrayer delas. För djupa strukturer kopierar du de inre nivåerna uttryckligen.

// Shallow copy caveat: nested objects are shared
const original = { user: { name: "Mina" }, active: true };
const shallow = { ...original };

// Mutate nested object
shallow.user.name = "Lena";

console.log("Original:", original);
console.log("Shallow:", shallow);
Kloning och sammanslagning — spread och Object.assign — illustration 6

Quiz om kloningsmetoder

Snabb kontroll: Skapa en ytlig klon utan att ändra originalet.

Kloning och sammanslagning — spread och Object.assign — illustration 7

Sammanfattning

Sammanfattning: Klona med spread eller Object.assign till ett tomt objekt, sammanfoga genom att placera senare källor sist och kom ihåg att detta är ytliga kopior.

Kloning och sammanslagning — spread och Object.assign — illustration 8
Gratis att börja

Lär dig JavaScript med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
59
Lektioner
200

Vanliga frågor

Är lektionen ”Kloning och sammanslagning — spread och Object.assign” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen JavaScript Academy, inklusive ”Kloning och sammanslagning — spread och Object.assign”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i JavaScript Academy innehåller totalt 2 lektioner.

Vad lär jag mig i ”Kloning och sammanslagning — spread och Object.assign”?

Klona och slå samman objekt och arrayer med spread och Object.assign; förstå ytlig kopiering och ordningen för överskrivning. Ni övar på JavaScript Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig JavaScript Academy?

Du behöver inga förkunskaper. Utbildningen i JavaScript Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 2.

Hur lång tid tar lektionen ”Kloning och sammanslagning — spread och Object.assign”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här JavaScript Academy-lektionen?

Ja. Varje JavaScript Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Array-CRUD och iteration; grunderna i objekt och åtkomst
  2. Kloning och sammanslagning — spread och Object.assign
← Tillbaka till JavaScript Academy