JavaScript 原生深拷贝方法来啦!structuredClone 闪耀登场~
2024-05-08 09:17:52 软件 159观看
摘要原生的深拷贝~分享一个 JavaScript 原生的深拷贝方法 structuredClone,其实这个方法出了很久了,但是存在感一直很低~图片说这个方法前,我们先来讨论一下,常见的深拷贝都有哪些方案呢?JSON.parse & JSON.stringify()很多人

原生的深拷贝~

分享一个 JavaScript 原生的深拷贝方法 structuredClone,其实这个方法出了很久了,但是存在感一直很低~7Cf28资讯网——每日最新资讯28at.com

图片图片7Cf28资讯网——每日最新资讯28at.com

说这个方法前,我们先来讨论一下,常见的深拷贝都有哪些方案呢?7Cf28资讯网——每日最新资讯28at.com

JSON.parse & JSON.stringify()

很多人会用 JSON.parse(JSON.stringify(obj))来对对象进行深拷贝操作,但是这个方式缺点太多了7Cf28资讯网——每日最新资讯28at.com

图片图片7Cf28资讯网——每日最新资讯28at.com

图片图片7Cf28资讯网——每日最新资讯28at.com

可以看到很多数据类型都没有深拷贝成功7Cf28资讯网——每日最新资讯28at.com

数据类型7Cf28资讯网——每日最新资讯28at.com

克隆结果7Cf28资讯网——每日最新资讯28at.com

number7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

string7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

undefined7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

null7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

boolean7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

object7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Array7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Function7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

map7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Set7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Date7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Error7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Regex7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Dom节点7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

并且在对象具有环引用的情况下,这种深拷贝方式会导致报错7Cf28资讯网——每日最新资讯28at.com

图片图片7Cf28资讯网——每日最新资讯28at.com

图片图片7Cf28资讯网——每日最新资讯28at.com

lodash.cloneDeep

lodash 的 cloneDeep也是深拷贝的手段之一,且非常完善,能成功拷贝各种数据类型7Cf28资讯网——每日最新资讯28at.com

但是大家要注意使用 lodash 时要使用 lodash-es,这样才能做到按需加载,减少不必要的代码体积7Cf28资讯网——每日最新资讯28at.com

图片图片7Cf28资讯网——每日最新资讯28at.com

图片图片7Cf28资讯网——每日最新资讯28at.com

数据类型7Cf28资讯网——每日最新资讯28at.com

克隆结果7Cf28资讯网——每日最新资讯28at.com

number7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

string7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

undefined7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

null7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

boolean7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

object7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Array7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Function7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

map7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Set7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Date7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Error7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Regex7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Dom节点7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

window.structuredClone

全局的 structuredClone() 方法使用结构化克隆算法将给定的值进行深拷贝7Cf28资讯网——每日最新资讯28at.com

图片图片7Cf28资讯网——每日最新资讯28at.com

图片图片7Cf28资讯网——每日最新资讯28at.com

当克隆Function、Dom节点时,会报错7Cf28资讯网——每日最新资讯28at.com

图片图片7Cf28资讯网——每日最新资讯28at.com

图片图片7Cf28资讯网——每日最新资讯28at.com

其他数据类型可以成功拷贝~7Cf28资讯网——每日最新资讯28at.com

图片图片7Cf28资讯网——每日最新资讯28at.com

数据类型7Cf28资讯网——每日最新资讯28at.com

克隆结果7Cf28资讯网——每日最新资讯28at.com

number7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

string7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

undefined7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

null7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

boolean7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

object7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Array7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Function7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

map7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Set7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Date7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Error7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Regex7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

Dom节点7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

7Cf28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-87254-0.htmlJavaScript 原生深拷贝方法来啦!structuredClone 闪耀登场~

声明:本网页内容旨在传播知识,不代表本站观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。

显示全文

上一篇:解密 Python 的变量和对象,它们之间有什么区别和联系呢?

下一篇:不知道这些不要说玩转了Controller接口

最新热点