别急着用 `structuredClone`,它的这些限制先搞清楚
日常开发里经常需要深拷贝一个对象:可能是要把 Redux 里的 state 复制一份做草稿,也可能是把接口返回的数据缓存起来避免被后续逻辑污染。以前大家习惯用 JSON.parse(JSON.stringify(obj)),后来浏览器提供了原生 structuredClone,看起来又干净又快。但真正把它用到业务代码里之后,踩到的坑并不少——函数会直接抛错、原型链丢失、Symbol 键被无视、getter 被求值成普通字段,甚至某些看似普通的数据结构在老版本浏览器里直接不存在。这篇文章不打算罗列 API 文档,而是从几个真实写业务时遇到的情况出发,把 structuredClone 能做什么、...