json.parse(json.stringify)的弊端

json.parse(json.stringify)的弊端使用JS0N.parse(JS0W.stringify())进行深拷贝对象时,存在一些弊端:

1.无法拷贝值为 umdefined的属性:在序列化(stringiy)阶段,如果对象中某个属性的值为 umdefined,那么这个属性会被忽略,不会出现在生成的 JSON 字符串中。因此在反序列化(parse)阶段,这个属性就不会被还原。

2.无法拷贝函数:在序列化阶段,如果对象中包含函数,这些函数会被忽略,不会出现在生成的 JSON 字符串中。因此在反序列化阶段,这个函数不会被还原。3.NaN、无穷大、无穷小被转为 nu11:在序列化阶段,特殊值如 NaN、无穷大、无穷小会被转换为 nul1。在反序列化阶段,这些值会被还原为原始的特殊值。无法获取原型上的方法、属性:这个方法只能获取到 Obiect 原型的内容,无法获取到实例原型上的方法或属性。这意味着如果对象是从某个构造函数实例化出来的,并且该构造函数在原型上定义了方法或属性,这些方法或属性不会被TS0N.parse(TSON.stringify())正确拷贝。

。Date 对象转变为 Date 字符串:在序列化阶段,Date 对象会被转换为 IS0 格式的日期字符串。在反序列化阶段,这个日期字符串会被转换回 Date 对象,但任何时区或童秒级别的信息可能会丢失。

总结来说,JS0N.parse(JS0N.stringify())无法正确拷贝值为 undefined 的属性、函数特殊值(NaN、无穷大、无穷小),以及无法拷贝原型上的方法、属性。此外,Date 对象在拷贝过程中可能会丢失一些信息。

相关推荐
终端鹿2 分钟前
Vue3 核心 API 补充解析:toRef / toRefs / unref / isRef
前端·javascript·vue.js
刘宇琪3 分钟前
如何有效缓解大语言模型生成内容中的事实性错误(幻觉)
前端
英俊潇洒美少年4 分钟前
vue的事件循环
前端·javascript·vue.js
GISer_Jing5 分钟前
Next.js全栈开发实战与面试指南
前端·javascript·react.js
im_AMBER6 分钟前
万字长文:从零实现 JWT 鉴权
前端·react.js·express
发量浓郁的程序猿7 分钟前
uniapp vue3手搓签名组件
前端
Julyued8 分钟前
vue3开发echarts热力图
前端·echarts
进击的尘埃10 分钟前
WASM 替代服务端的场景探索
javascript
本末倒置18310 分钟前
拒绝繁琐配置!用 Tailwind CSS 3 搞定多主题 + 暗色模式切换,这套方案谁用谁香
前端
发量浓郁的程序猿12 分钟前
pdfjsLib预览本地PDF文件,操作栏不展示下载、打印双页操作
前端