一次TypeScript深度拷贝实践

最近遇到一个数据拷贝问题。

后来发现一个小天才,使用JSON.parse(JSON.stringify(this.dataObj))实现了深度拷贝。

直接这样做会导致NaN类型被解析成null,类型完全变了,这不是我想看到的。

只能在JSON.parse里添加一个reviver方法。
JSON.parse(JSON.stringify(this.dataObj), function (key, value) { return value === null ? NaN : value; })

解决问题。

2023.01.30更新
最合理的还是使用structuredClone方法更新。