File tree Expand file tree Collapse file tree 1 file changed +68
-0
lines changed Expand file tree Collapse file tree 1 file changed +68
-0
lines changed Original file line number Diff line number Diff line change
1
+ //解构可以将对象的属性值绑定到任意数量的变量
2
+ //解构可以用于对象、数组以及函数参数列表
3
+
4
+ //++++++++++++++++++++++++++++++++++++++++++++
5
+ //对象解构
6
+ var people = {
7
+ name : 'song' ,
8
+ nickname : 'coderfocus' ,
9
+ metaData :{
10
+ age : 25 ,
11
+ gender : 'male'
12
+ }
13
+ }
14
+ var name = people . name
15
+
16
+ //解构赋值
17
+ var { name} = people
18
+ console . log ( name ) ;
19
+
20
+ //同时解构多个属性
21
+ var { name, nickname} = people
22
+ console . log ( name + '-' + nickname ) ;
23
+
24
+ //解构别名
25
+ var { name : lastname } = people
26
+ console . log ( lastname ) ;
27
+
28
+ //解构深度结构
29
+ var { metaData : { age} } = people
30
+ console . log ( age ) ;
31
+
32
+ //解构不存在的属性返回 undefined
33
+ var { boots} = people
34
+ console . log ( boots ) ;
35
+
36
+ // 解构嵌套属性的父对象是null或者undefined,抛出异常
37
+ // var {boots: {size}} = people
38
+
39
+ //默认值
40
+ var { boots = { size :10 } } = people
41
+ console . log ( boots ) ;
42
+
43
+ //嵌套属性默认值
44
+ var { metaData : { size = 10 } } = people
45
+ console . log ( size ) ;
46
+
47
+ //++++++++++++++++++++++++++++++++++++++++++++++++++
48
+ //数组解构
49
+ var coordinates = [ 12 , - 5 ]
50
+ var [ x , y ] = coordinates
51
+ console . log ( x ) ;
52
+ console . log ( y ) ;
53
+
54
+ //跳过不需要的值
55
+ var names = [ 'song' , 'wen' , 'jie' ]
56
+ var [ firstname , , lastname ] = names
57
+ console . log ( lastname ) ;
58
+
59
+ //默认值
60
+ var [ firstname , , , lastname = 'song' ] = names
61
+ console . log ( lastname ) ;
62
+
63
+ //利用数组解构交换变量值
64
+ var left = 5 ;
65
+ var right = 7 ;
66
+ [ left , right ] = [ right , left ]
67
+ console . log ( left ) ;
68
+ console . log ( right ) ;
You can’t perform that action at this time.
0 commit comments