原生的深拷貝~
分享一個(gè) JavaScript 原生的深拷貝方法 structuredClone,其實(shí)這個(gè)方法出了很久了,但是存在感一直很低~c3e28資訊網(wǎng)——每日最新資訊28at.com
圖片c3e28資訊網(wǎng)——每日最新資訊28at.com
說這個(gè)方法前,我們先來討論一下,常見的深拷貝都有哪些方案呢?c3e28資訊網(wǎng)——每日最新資訊28at.com
JSON.parse & JSON.stringify()
很多人會(huì)用 JSON.parse(JSON.stringify(obj))來對(duì)對(duì)象進(jìn)行深拷貝操作,但是這個(gè)方式缺點(diǎn)太多了c3e28資訊網(wǎng)——每日最新資訊28at.com
圖片c3e28資訊網(wǎng)——每日最新資訊28at.com
圖片c3e28資訊網(wǎng)——每日最新資訊28at.com
可以看到很多數(shù)據(jù)類型都沒有深拷貝成功c3e28資訊網(wǎng)——每日最新資訊28at.com
數(shù)據(jù)類型c3e28資訊網(wǎng)——每日最新資訊28at.com | 克隆結(jié)果c3e28資訊網(wǎng)——每日最新資訊28at.com |
numberc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
stringc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
undefinedc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
nullc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
booleanc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
objectc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Arrayc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Functionc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
mapc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Setc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Datec3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Errorc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Regexc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Dom節(jié)點(diǎn)c3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
并且在對(duì)象具有環(huán)引用的情況下,這種深拷貝方式會(huì)導(dǎo)致報(bào)錯(cuò)c3e28資訊網(wǎng)——每日最新資訊28at.com
圖片c3e28資訊網(wǎng)——每日最新資訊28at.com
圖片c3e28資訊網(wǎng)——每日最新資訊28at.com
lodash.cloneDeep
lodash 的 cloneDeep也是深拷貝的手段之一,且非常完善,能成功拷貝各種數(shù)據(jù)類型c3e28資訊網(wǎng)——每日最新資訊28at.com
但是大家要注意使用 lodash 時(shí)要使用 lodash-es,這樣才能做到按需加載,減少不必要的代碼體積c3e28資訊網(wǎng)——每日最新資訊28at.com
圖片c3e28資訊網(wǎng)——每日最新資訊28at.com
圖片c3e28資訊網(wǎng)——每日最新資訊28at.com
數(shù)據(jù)類型c3e28資訊網(wǎng)——每日最新資訊28at.com | 克隆結(jié)果c3e28資訊網(wǎng)——每日最新資訊28at.com |
numberc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
stringc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
undefinedc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
nullc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
booleanc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
objectc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Arrayc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Functionc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
mapc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Setc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Datec3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Errorc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Regexc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Dom節(jié)點(diǎn)c3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
window.structuredClone
全局的 structuredClone() 方法使用結(jié)構(gòu)化克隆算法將給定的值進(jìn)行深拷貝c3e28資訊網(wǎng)——每日最新資訊28at.com
圖片c3e28資訊網(wǎng)——每日最新資訊28at.com
圖片c3e28資訊網(wǎng)——每日最新資訊28at.com
當(dāng)克隆Function、Dom節(jié)點(diǎn)時(shí),會(huì)報(bào)錯(cuò)c3e28資訊網(wǎng)——每日最新資訊28at.com
圖片c3e28資訊網(wǎng)——每日最新資訊28at.com
圖片c3e28資訊網(wǎng)——每日最新資訊28at.com
其他數(shù)據(jù)類型可以成功拷貝~c3e28資訊網(wǎng)——每日最新資訊28at.com
圖片c3e28資訊網(wǎng)——每日最新資訊28at.com
數(shù)據(jù)類型c3e28資訊網(wǎng)——每日最新資訊28at.com | 克隆結(jié)果c3e28資訊網(wǎng)——每日最新資訊28at.com |
numberc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
stringc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
undefinedc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
nullc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
booleanc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
objectc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Arrayc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Functionc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
mapc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Setc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Datec3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Errorc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Regexc3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
Dom節(jié)點(diǎn)c3e28資訊網(wǎng)——每日最新資訊28at.com | ?c3e28資訊網(wǎng)——每日最新資訊28at.com |
c3e28資訊網(wǎng)——每日最新資訊28at.com
本文鏈接:http://www.www897cc.com/showinfo-26-87254-0.htmlJavaScript 原生深拷貝方法來啦!structuredClone 閃耀登場~
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com
上一篇: 解密 Python 的變量和對(duì)象,它們之間有什么區(qū)別和聯(lián)系呢?
下一篇: 不知道這些不要說玩轉(zhuǎn)了Controller接口