Destructuring assignment(解構賦值),這種做法可以從陣列或物件的資料取出值,並對變數賦予這些值。
來舉些簡單的例子:
const [a, b] = [1, 2];
console.log(a); // 1
console.log(b); // 2
將 a, b 兩變數賦予值為 1, 2,所以 a = 1,b = 2。
const [a, b, ...c] = [1, 2, 3, 4, 5];
console.log(a); // 1
console.log(b); // 2
console.log(c); // [3, 4, 5]
意思為將 a 賦予值為 1,將 b 賦予值為 2,將 c 賦予值為剩下的元素,所以最終 c 為一個陣列 [3,4,5]。
const Friends = ["小美","小胖","小明"];
let [Mary,John,Alex] = Friends;
console.log(Mary); // 小美
console.log(John); // 小胖
console.log(Alex); // 小明
console.log(Friends); // ["小美","小胖","小明"]
從 Friends 這個陣列中取出值,來賦予給 Mary,John 和 Alex,所以 Mary 會是 小美,John 是 小胖,而 Alex 是小明。
let person = {
name:"Amy",
gender:"female",
age:24,
lover:{
fullName:"John"
}
}
let name = person.name;
let lover = person.lover.fullName;
console.log(name); // Amy
console.log(lover); // John
使用解構的方式後程式碼如下:
let person = {
name:"Amy",
gender:"female",
age:24,
lover:{
fullName:"John"
}
}
let { name, gender, age } = person;
console.log(name); // Amy
console.log(gender); // female
console.log(age); // 24
let { fullName } = person.lover;
console.log(fullName); // John