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.
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.
[0] https://web.dev/structured-clone/