File tree Expand file tree Collapse file tree 1 file changed +52
-0
lines changed Expand file tree Collapse file tree 1 file changed +52
-0
lines changed Original file line number Diff line number Diff line change
1
+ // values vs reference
2
+ // values is primitive and reference is object (array,function)
3
+
4
+ const name = 'john' ;
5
+ let name2 = name ;
6
+
7
+ console . log ( `${ name } ` ) ;
8
+ console . log ( `${ name2 } ` ) ;
9
+ /*
10
+ john
11
+ john
12
+ */
13
+
14
+ // reassign name2 : 'peter doe'
15
+ name2 = 'peter doe' ;
16
+ console . log ( `${ name } ` ) ;
17
+ console . log ( `${ name2 } ` ) ;
18
+
19
+ // object or reference can't like primitive
20
+ let value1 = {
21
+ name : 'edward newgate' ,
22
+ } ;
23
+ let value2 = value1 ;
24
+
25
+ console . log ( `${ value1 . name } ` ) ;
26
+ console . log ( `${ value2 . name } ` ) ;
27
+ /*
28
+ edward newgate
29
+ edward newgate
30
+ */
31
+
32
+ // reasign obj from value2 : 'shirohige'
33
+ value2 . name = 'shirohige' ;
34
+ // and obj value1, and value2 will same cz one reference
35
+ console . log ( `${ value1 . name } ` ) ;
36
+ console . log ( `${ value2 . name } ` ) ;
37
+ /*
38
+ shirohige
39
+ shirohige
40
+ */
41
+
42
+ // but u can use copy obj
43
+ console . log ( 'copy obj' ) ;
44
+ value2 = { ...value1 } ;
45
+ value2 . name = 'Edward NewGate Shirohige' ;
46
+
47
+ console . log ( `${ value1 . name } ` ) ;
48
+ console . log ( `${ value2 . name } ` ) ;
49
+ /*
50
+ shirohige
51
+ Edward NewGate Shirohige
52
+ */
You can’t perform that action at this time.
0 commit comments