Destructuring Assignment
Destructuring Assignment là một loại toán tử gán, nó sẽ phân rã đối tượng gán thành các biến.
Toán tử gán phân rã object
Sử dụng cú pháp rút gọn với object:
1
2
3
|
var { a, b } = { a: 1, b: "Bill" };
console.log(a); // 1
console.log(b); // "Bill"
|
Sử dụng cú pháp chuẩn với object lồng nhau:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
var {
name: nameVar,
desc: {
age: ageVar
}
} = {
name: "Bill",
desc: {
age: 30
}
};
console.log(nameVar); // Bill
console.log(ageVar); // 30
|
Toán tử phân rã array
Ví dụ phân rã array:
1
2
3
|
var [ a, b ] = ["Bill", "Gates"];
console.log(a); // Bill
console.log(b); // Gates
|
Toán tử phân rã object và array đều có thể sử dụng với giá trị mặc định của biến.
1
2
3
|
var [ a, b = "Gates" ] = ["Bill"];
console.log(a); // Bill
console.log(b); // Gates
|
Sử dụng với tham số của hàm
Có thể sử dụng phân rã object hay array ngay trên tham số của hàm.
1
2
3
4
5
6
7
8
9
10
11
|
// phân rã array
function f([ name, val ]) {
console.log(name, val); // Bill, Gates
}
f (["Bill", "Gates"]);
// phân rã object
function g({ name, val }) {
console.log(name, val); // bar, 42
}
g({ name: "bar", val: 42 });
|