iT邦幫忙

2024 iThome 鐵人賽

DAY 22
0

大家好,我是Karin。今天要來學習的內容是JavaScript中物件的淺拷貝、深拷貝。

學習內容來自:彭彭的教學影片
https://www.youtube.com/watch?v=tnT-XbrOKA0&list=PL-g0fdC5RMbqW54tWQPIVbhyl_Ky6a2VI&index=33&t=394s


物件的淺拷貝

淺拷貝:只會拷貝物件的第一層資料。

層次:在一個物件/陣列中,又包含著其他物件/陣列,就會產生層次。
兩種淺拷貝的方法:

let a={x:3,y:4,z:[1,2,3]};

//方法一:使用其餘運算...
let b={...a};

//方法二:使用內建方法Object.assign()
let c=Object.assign({},a);

淺拷貝的特性:
第二層以上的資料不會被拷貝,會參考到原本的實體。
用個簡單的例子來演練

let a={x:3,y:4,z:[1,2,3]};

let b={...a};
b.z[0]=6; //更動新物件b的第二層內容時,也會改變到原本a物件的內容
console.log(a.data[0]); //此處會印出6

明天繼續補上X_X


上一篇
Day 21 物件的拷貝
下一篇
Day23 物件的深拷貝
系列文
每天都進步一點!從零開始的JavaScript 與基礎網路知識學習26
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言