Deep cloning objects in JavaScript, the modern way
builder.io
builder.io
Prototypes. If you use structuredClone() with a class instance, you’ll get a plain object as the return value, as structured cloning discards the object’s prototype chain.
Functions. If your object contains functions, they will be quietly discarded.
Non-cloneables. Some values are not structured cloneable, most notably Error and DOM nodes. It will cause structuredClone() to throw.
Web workers are patchy too.