-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathobject_destructuring.js
70 lines (54 loc) · 1.24 KB
/
object_destructuring.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/**
* Introduction to the JavaScript object destructuring assignment
* @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment}
*/
// example 1
let person = {
firstName: 'John',
lastName: 'Doe'
};
let firstName = person.firstName;
let lastName = person.lastName;
console.log(firstName, lastName); // John Doe
// alternative example 1 with destructuring
let { firstName: fname, lastName: lname } = person;
console.log(fname, lname); // John Doe
/**
* Destructuring function arguments
*/
// example 2
let display = ({ firstName, lastName }) =>
console.log(`${firstName} ${lastName}`);
let person2 = {
firstName: 'John',
lastName: 'Doe'
};
display(person2);
/**
* Nested object destructuring assignment
*/
// example 3
let employee = {
id: 1001,
name: {
fname: 'John',
lname: 'Doe'
}
};
let {
name: { fname: fname2, lname: lname2 }
} = employee;
console.log(fname2, lname2); // John Doe
/**
* Setting default values for object destructuring
*/
// example 4
let person4 = {
firstName: 'John',
lastName: 'Doe',
middleName: 'C.',
currentAge: 28
};
let { middleName = '', currentAge: age = 18 } = person4;
console.log(middleName); // 'C.'
console.log(age); // 28