DEV Community 👩‍💻👨‍💻

Cover image for Deep Copy in Node JS without using any external packages
Shuvo
Shuvo

Posted on

Deep Copy in Node JS without using any external packages

Using v8 on Noe JS you can deep copy object without using any external packages. Here is an example

const v8 = require("v8")

const obj = {
    status: "verified",
    profile: {
        name: "John Doe",
        email: "john@gmail.com",
        phone: "123-456-7890"
    }
}

const deepCopiedObj = v8.deserialize(v8.serialize(obj))
Enter fullscreen mode Exit fullscreen mode

Now this looks similar to JSON.parse(JSON.stringify(obj)) but the internal workings are different.

Top comments (4)

Collapse
 
hidaytrahman profile image
Hidayt Rahman

Is v8 is external package?

Collapse
 
0shuvo0 profile image
Shuvo Author

No it's a core package of nodejs

Collapse
 
dylanwatsonsoftware profile image
Dylan Watson

So.... Why not just use JSON.parse(JSON.stringify(obj)) then?

Collapse
 
0shuvo0 profile image
Shuvo Author

Their working are different

This post blew up on DEV in 2020:

js visualized

🚀⚙️ JavaScript Visualized: the JavaScript Engine

As JavaScript devs, we usually don't have to deal with compilers ourselves. However, it's definitely good to know the basics of the JavaScript engine and see how it handles our human-friendly JS code, and turns it into something machines understand! 🥳

Happy coding!