自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JavaScript 原生深拷貝方法來啦!structuredClone 閃耀登場~

開發(fā) 前端
很多人會用 JSON.parse(JSON.stringify(obj))來對對象進行深拷貝操作,但是這個方式缺點太多了。

原生的深拷貝~

分享一個 JavaScript 原生的深拷貝方法 structuredClone,其實這個方法出了很久了,但是存在感一直很低~

圖片圖片

說這個方法前,我們先來討論一下,常見的深拷貝都有哪些方案呢?

JSON.parse & JSON.stringify()

很多人會用 JSON.parse(JSON.stringify(obj))來對對象進行深拷貝操作,但是這個方式缺點太多了

圖片圖片

圖片圖片

可以看到很多數(shù)據(jù)類型都沒有深拷貝成功

數(shù)據(jù)類型

克隆結果

number

?

string

?

undefined

?

null

?

boolean

?

object

?

Array

?

Function

?

map

?

Set

?

Date

?

Error

?

Regex

?

Dom節(jié)點

?

并且在對象具有環(huán)引用的情況下,這種深拷貝方式會導致報錯

圖片圖片

圖片圖片

lodash.cloneDeep

lodash 的 cloneDeep也是深拷貝的手段之一,且非常完善,能成功拷貝各種數(shù)據(jù)類型

但是大家要注意使用 lodash 時要使用 lodash-es,這樣才能做到按需加載,減少不必要的代碼體積

圖片圖片

圖片圖片

數(shù)據(jù)類型

克隆結果

number

?

string

?

undefined

?

null

?

boolean

?

object

?

Array

?

Function

?

map

?

Set

?

Date

?

Error

?

Regex

?

Dom節(jié)點

?

window.structuredClone

全局的 structuredClone() 方法使用結構化克隆算法將給定的值進行深拷貝

圖片圖片

圖片圖片

當克隆Function、Dom節(jié)點時,會報錯

圖片圖片

圖片圖片

其他數(shù)據(jù)類型可以成功拷貝~

圖片圖片

數(shù)據(jù)類型

克隆結果

number

?

string

?

undefined

?

null

?

boolean

?

object

?

Array

?

Function

?

map

?

Set

?

Date

?

Error

?

Regex

?

Dom節(jié)點

?

責任編輯:武曉燕 來源: 前端之神
相關推薦

2024-08-02 08:43:24

JavaScript開發(fā)者工具箱深拷貝

2024-03-04 08:45:30

JavaScript深度拷貝對象

2017-05-24 11:54:55

Javascript深拷貝

2023-05-08 09:00:46

JSON深拷貝對象

2021-07-16 12:33:24

Javascript深拷貝淺拷貝

2020-10-12 08:35:22

JavaScript

2020-06-23 08:41:47

JavaScript開發(fā)技術

2018-09-26 14:37:17

JavaScript前端編程語言

2018-05-10 14:20:18

前端JavaScript深拷貝

2025-04-17 08:05:00

JavaScript

2025-04-27 09:45:58

JavaScript深拷貝淺拷貝

2021-01-08 06:15:09

深拷貝淺拷貝寫時拷貝

2023-05-17 08:42:46

深拷貝Golang

2017-08-16 13:30:05

Java深拷貝淺拷貝

2023-05-12 08:11:58

JavaScriptJSON克隆

2024-03-15 15:03:23

2021-09-27 11:07:11

深拷貝淺拷貝內(nèi)存

2022-07-26 08:07:03

Python淺拷貝深拷貝

2009-05-19 17:28:44

深拷貝淺拷貝clone()

2020-08-03 08:24:26

原型模式拷貝
點贊
收藏

51CTO技術棧公眾號