How would you clone an object in JavaScript?

author pfp

lecongly

We have 4 diffrent options to clone object in javascript

1. Use the spead operator

In JavaScript, you can use the three dots (…) operator to spread the properties of an object to where one or more key-value pair is expected.

For example:

const data = { name: "Alice", age: 26 }
const dataCopy = { ...data }

data.age = 1000

console.log(data)
console.log(dataCopy)

Output:

{
  age: 1000,
  name: "Alice"
}
{
  age: 26,
  name: "Alice"
}

2. Call the Object.assign() function

const data = { name: "Alice", age: 26 }
const dataCopy = Object.assign({}, data)
data.age = 1000
console.log(data)
console.log(dataCopy)

Output:

{
  age: 1000,
  name: "Alice"
}
{
  age: 26,
  name: "Alice"
}

3. Use JSON parsing

const data = { name: "Alice", age: 26 }
const dataCopy = JSON.parse(JSON.stringify(data))
data.age = 1000
console.log(data)
console.log(dataCopy)

Output:

{
  age: 1000,
  name: "Alice"
}
{
  age: 26,
  name: "Alice"
}

4. Use the structuredClone() function

const data = { name: "Alice", age: 26 }
const dataCopy = structuredClone(data)
data.age = 1000
console.log(data)
console.log(dataCopy)

Output:

{
  age: 1000,
  name: "Alice"
}
{
  age: 26,
  name: "Alice"
}
No Rights Reserved@lecongly• ©2024