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

相关推荐
WMYeah5 分钟前
【无标题】
前端·rust·抽奖程序·跨平台抽奖程序
Unbelievabletobe6 分钟前
免费外汇api的响应时间在不同时段下的波动分析
大数据·开发语言·前端·python
大哥,带带弟弟15 分钟前
Grafana 前端嵌入与 JWT 鉴权实战
前端·grafana
小小小小宇16 分钟前
前端 V8 引擎垃圾回收机制与内存问题排查
前端
前端老石人27 分钟前
CSS 值定义语法
前端·css
sheeta199837 分钟前
Vue 前端基础笔记
前端·vue.js·笔记
小小小小宇37 分钟前
GitLab + GitLab Runner + Qiankun 微前端 + Nginx + Node 中间件 前端开发机从零搭建 CI/CD 全流程
前端
前端那点事42 分钟前
别再写垃圾组件!Vue3 如何设计「真正可复用」的高质量通用组件
前端·vue.js
卷帘依旧1 小时前
JavaScript 中的 Symbol
前端·javascript
老王以为1 小时前
Claude Code 从 GUI 到 TUI:开发者界面的范式回归
前端·人工智能·全栈