@@ -9,28 +9,26 @@ console.log(myFruits.push("Dates"));
9
9
console . log ( fruits ) ;
10
10
console . log ( myFruits ) ;
11
11
12
-
13
12
const user1 = {
14
- firstName : "Abdul" ,
15
- lastName : "rafay"
13
+ firstName : "Abdul" ,
14
+ lastName : "rafay" ,
16
15
} ;
17
16
const user2 = user1 ;
18
17
19
18
user2 . firstName = "whoami" ;
20
19
console . log ( user2 ) ;
21
20
console . log ( user1 ) ;
22
21
23
-
24
22
const username1 = "abdul rafay" ;
25
23
let username2 = username1 ;
26
- username2 += " " + "whoami"
24
+ username2 += " " + "whoami" ;
27
25
28
26
console . log ( username1 ) ;
29
27
console . log ( username2 ) ;
30
28
31
29
const obj = {
32
- name : "whoami" ,
33
- age : 17
30
+ name : "whoami" ,
31
+ age : 17 ,
34
32
} ;
35
33
const obj2 = { ...obj } ;
36
34
obj2 . name = "nobody" ;
@@ -43,7 +41,6 @@ obj3.age = 18;
43
41
console . log ( obj ) ;
44
42
console . log ( obj3 ) ;
45
43
46
-
47
44
const arr = [ "whoami" , "zain" , "rafay" ] ;
48
45
49
46
const arr1 = [ ...arr ] ;
@@ -60,29 +57,32 @@ console.log(arr1);
60
57
console . log ( arr2 ) ;
61
58
console . log ( arr3 ) ;
62
59
63
-
64
60
// FIXME: How to do a Deep Copy
65
61
// INFO: There are two ways that i will gonna show you to do a deep copy
66
62
const object1 = {
67
- name : "rafay" ,
68
- age : 25 ,
69
- social : {
70
- facebook : {
71
-
72
-
73
- } ,
74
- twitter : {
75
- free : {
76
-
77
- } ,
78
- paid : {
79
-
80
- }
81
- }
82
- }
83
- }
63
+ name : "rafay" ,
64
+ age : 25 ,
65
+ social : {
66
+ facebook : {
67
+
68
+
69
+ } ,
70
+ twitter : {
71
+ free : {
72
+
73
+ } ,
74
+ paid : {
75
+
76
+ } ,
77
+ } ,
78
+ } ,
79
+ } ;
84
80
85
81
const object2 = JSON . parse ( JSON . stringify ( object1 ) ) ;
86
82
object2 . social . facebook . ac1 = "changed" ;
87
83
console . log ( object1 . social . facebook . ac1 ) ;
88
84
console . log ( object2 . social . facebook . ac1 ) ;
85
+
86
+ // Second method
87
+ const clone = structuredClone ( object1 ) ;
88
+ console . log ( clone ) ;
0 commit comments