Skip to content
Advertisement

Does Object.assign() create a deep copy or a shallow copy?

I just came across this concept of

JavaScript

which creates a copy of original object into the “copy” object. However, my question is, does this way of cloning object create a deep copy or a shallow copy?

PS: The confusion is, if it creates a deep copy, then it would be the easiest way to clone an object.

Advertisement

Answer

Forget about deep copy, even shallow copy isn’t safe, if the object you’re copying has a property with enumerable attribute set to false.

MDN :

The Object.assign() method only copies enumerable and own properties from a source object to a target object

take this example

JavaScript
User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement