@@ -9,28 +9,26 @@ console.log(myFruits.push("Dates"));
99console . log ( fruits ) ;
1010console . log ( myFruits ) ;
1111
12-
1312const user1 = {
14- firstName : "Abdul" ,
15- lastName : "rafay"
13+ firstName : "Abdul" ,
14+ lastName : "rafay" ,
1615} ;
1716const user2 = user1 ;
1817
1918user2 . firstName = "whoami" ;
2019console . log ( user2 ) ;
2120console . log ( user1 ) ;
2221
23-
2422const username1 = "abdul rafay" ;
2523let username2 = username1 ;
26- username2 += " " + "whoami"
24+ username2 += " " + "whoami" ;
2725
2826console . log ( username1 ) ;
2927console . log ( username2 ) ;
3028
3129const obj = {
32- name : "whoami" ,
33- age : 17
30+ name : "whoami" ,
31+ age : 17 ,
3432} ;
3533const obj2 = { ...obj } ;
3634obj2 . name = "nobody" ;
@@ -43,7 +41,6 @@ obj3.age = 18;
4341console . log ( obj ) ;
4442console . log ( obj3 ) ;
4543
46-
4744const arr = [ "whoami" , "zain" , "rafay" ] ;
4845
4946const arr1 = [ ...arr ] ;
@@ -60,29 +57,32 @@ console.log(arr1);
6057console . log ( arr2 ) ;
6158console . log ( arr3 ) ;
6259
63-
6460// FIXME: How to do a Deep Copy
6561// INFO: There are two ways that i will gonna show you to do a deep copy
6662const object1 = {
67- name : "rafay" ,
68- age : 25 ,
69- social : {
70- facebook : {
71- ac1 : "someone@gmail.com" ,
72- ac2 : "somewhere@gmail.com"
73- } ,
74- twitter : {
75- free : {
76- ac1 : "somewhere@gmail.com"
77- } ,
78- paid : {
79- ac1 : "paidaccount@gmail.com"
80- }
81- }
82- }
83- }
63+ name : "rafay" ,
64+ age : 25 ,
65+ social : {
66+ facebook : {
67+ ac1 : "someone@gmail.com" ,
68+ ac2 : "somewhere@gmail.com" ,
69+ } ,
70+ twitter : {
71+ free : {
72+ ac1 : "somewhere@gmail.com" ,
73+ } ,
74+ paid : {
75+ ac1 : "paidaccount@gmail.com" ,
76+ } ,
77+ } ,
78+ } ,
79+ } ;
8480
8581const object2 = JSON . parse ( JSON . stringify ( object1 ) ) ;
8682object2 . social . facebook . ac1 = "changed" ;
8783console . log ( object1 . social . facebook . ac1 ) ;
8884console . log ( object2 . social . facebook . ac1 ) ;
85+
86+ // Second method
87+ const clone = structuredClone ( object1 ) ;
88+ console . log ( clone ) ;
0 commit comments