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 对象在拷贝过程中可能会丢失一些信息。

相关推荐
zhengxianyi5155 小时前
只需3句让Vue3 打包部署后通过修改配置文件修改全局变量——实时生效
vue.js·前后端分离·数据大屏·ruoyi-vue-pro优化
悟能不能悟6 小时前
前端上载文件时,上载多个文件,但是一个一个调用接口,怎么实现
前端
可问春风_ren6 小时前
前端文件上传详细解析
前端·ecmascript·reactjs·js
羊小猪~~7 小时前
【QT】--文件操作
前端·数据库·c++·后端·qt·qt6.3
晚风资源组8 小时前
CSS文字和图片在容器内垂直居中的简单方法
前端·css·css3
Miketutu8 小时前
Flutter学习 - 组件通信与网络请求Dio
开发语言·前端·javascript
摘星编程8 小时前
React Native for OpenHarmony 实战:Swiper 滑动组件详解
javascript·react native·react.js
鸣弦artha9 小时前
Flutter框架跨平台鸿蒙开发——Build流程深度解析
开发语言·javascript·flutter
QQ40220549610 小时前
python基于vue的大学生课堂考勤系统设计与实现django flask pycharm
vue.js·python·django
光影少年10 小时前
前端如何调用gpu渲染,提升gpu渲染
前端·aigc·web·ai编程