I dette eksemplet lærer du å skrive et program som kloner et objekt.
For å forstå dette eksemplet, bør du ha kunnskap om følgende JavaScript-programmeringsemner:
- JavaScript-objekter
 - JavaScript Object.assign ()
 
Et JavaScript-objekt er en kompleks datatype som kan inneholde forskjellige datatyper. For eksempel,
 const person = ( name: 'John', age: 21, )
Her personer et objekt. Nå kan du ikke klone et objekt ved å gjøre noe som dette.
 const copy = person; console.log(copy); // (name: "John", age: 21)
I programmet ovenfor har copyvariabelen samme verdi som personobjektet. Men hvis du endrer verdien på copyobjektet, endres også verdien i personobjektet. For eksempel,
 copy.name = 'Peter'; console.log(copy.name); // Peter console.log(person.name); // Peter
Endringen sees i begge objektene fordi objekter er referansetyper . Og begge deler copyog personpeker på det samme objektet.
Eksempel 1. Klon objektet ved hjelp av Object.assign ()
 // program to clone the object // declaring object const person = ( name: 'John', age: 21, ) // cloning the object const clonePerson = Object.assign((), person); console.log(clonePerson); // changing the value of clonePerson clonePerson.name = 'Peter'; console.log(clonePerson.name); console.log(person.name);
Produksjon
(navn: "John", alder: 21) Peter John
Den Object.assign()metoden er en del av den ES6 standard. Den Object.assign()metoden utfører dype kopiere og kopierer alle eiendommene fra ett eller flere objekter.
Merk : Det tomme ()som det første argumentet sørger for at du ikke endrer det opprinnelige objektet.
Eksempel 2: Klon objektet ved hjelp av Spread Syntax
 // program to clone the object // declaring object const person = ( name: 'John', age: 21, ) // cloning the object const clonePerson = (… person) console.log(clonePerson); // changing the value of clonePerson clonePerson.name = 'Peter'; console.log(clonePerson.name); console.log(person.name);
Produksjon
(navn: "John", alder: 21) Peter John
Spredningssyntaks … ble introdusert i den senere versjonen (ES6).
Den spredte syntaksen kan brukes til å lage en grunne kopi av et objekt. Dette betyr at den vil kopiere objektet. Imidlertid er det referert til de dypere objektene. For eksempel,
 const person = ( name: 'John', age: 21, // the inner objects will change in the shallow copy marks: ( math: 66, english: 73) ) // cloning the object const clonePerson = (… person) console.log(clonePerson); // (name: "John", age: 21, marks: (… )) // changing the value of clonePerson clonePerson.marks.math = 100; console.log(clonePerson.marks.math); // 100 console.log(person.marks.math); // 100
Her, når den indre objektverdien mathendres til 100 av clonePersonobjektet, endres også verdien mathtil personobjektets nøkkel .
Eksempel 3: Klon objektet ved hjelp av JSON.parse ()
 // program to clone the object // declaring object const person = ( name: 'John', age: 21, ) // cloning the object const clonePerson = JSON.parse(JSON.stringify(person)); console.log(clonePerson); // changing the value of clonePerson clonePerson.name = 'Peter'; console.log(clonePerson.name); console.log(person.name);
Produksjon
(navn: "John", alder: 21) Peter John
I programmet ovenfor JSON.parse()brukes metoden for å klone et objekt.
Merk : JSON.parse()fungerer bare med Numberog Stringobjekt bokstavelig. Det fungerer ikke med en gjenstand bokstavelig med functioneller symbolegenskaper.








