JavaScript Academy · Lektion

Kloning og sammenfletning — spread og Object.assign

Klon og sammenflet objekter og arrays med spread og Object.assign; forstå shallow copy og rækkefølgen for overskrivning.

Lektion 2 af 28 trin

Kloning og sammenfletning — spread og Object.assign er en gratis JavaScript Academy-lektion på CoddyKit. Dette er lektion 2 af 2. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i JavaScript Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. JavaScript Academy-kurset indeholder 2 lektioner i alt.

Introduktion

Mål: Klon og flet objekter og arrays sikkert.

  • Spread til kloning og fletning
  • Object.assign
  • Rækkefølge ved overskrivning
  • Begrænsninger ved overfladisk kopiering
Kloning og sammenfletning — spread og Object.assign — illustration 1

Spread: kloning af objekter

Brug {...obj} til en overfladisk klon. Når du redigerer klonen, ændrer det ikke felterne på øverste niveau i originalen.

// 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 og sammenfletning — spread og Object.assign — illustration 2

Object.assign: kloning

Object.assign({}, obj) laver også en overfladisk klon. Undgå at ændre kilden ved at tildele til et 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 og sammenfletning — spread og Object.assign — illustration 3

Fletning: rækkefølgen betyder noget

Fletning afhænger af rækkefølgen: senere kilder overskriver tidligere nøgler (b bliver 9 her).

// 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 og sammenfletning — spread og Object.assign — illustration 4

Spread for arrays: klon og flet

[...arr] kloner et array. Kombinér arrays med [...a, ...b] uden at ændre 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 og sammenfletning — spread og Object.assign — illustration 5

Overfladisk kontra dyb kopiering

Overfladisk kopi: Indlejrede objekter og arrays deles. Ved dybe strukturer skal du kopiere de indre niveauer eksplicit.

// 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 og sammenfletning — spread og Object.assign — illustration 6

Quiz om kloningsmetoder

Hurtigt tjek: Overfladisk kloning uden ændringer.

Kloning og sammenfletning — spread og Object.assign — illustration 7

Opsummering

Opsummering: Klon med spread eller Object.assign til et tomt objekt, flet ved at placere senere kilder sidst, og husk: Det er overfladiske kopier.

Kloning og sammenfletning — spread og Object.assign — illustration 8
Gratis at komme i gang

Lær JavaScript med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
59
Lektioner
200

Ofte stillede spørgsmål

Er lektionen “Kloning og sammenfletning — spread og Object.assign” gratis?

Ja — alle 3 lektioner i læringssporet JavaScript Academy, inklusive “Kloning og sammenfletning — spread og Object.assign”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. JavaScript Academy-kurset indeholder 2 lektioner i alt.

Hvad lærer jeg i “Kloning og sammenfletning — spread og Object.assign”?

Klon og sammenflet objekter og arrays med spread og Object.assign; forstå shallow copy og rækkefølgen for overskrivning. Du øver dig i JavaScript Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på JavaScript Academy?

Der kræves ingen tidligere erfaring. JavaScript Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 2.

Hvor lang tid tager lektionen “Kloning og sammenfletning — spread og Object.assign”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne JavaScript Academy-lektion?

Ja. Alle JavaScript Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Array-CRUD og iteration; grundlæggende objekter og adgang
  2. Kloning og sammenfletning — spread og Object.assign
← Tilbage til JavaScript Academy