iT邦幫忙

2021 iThome 鐵人賽

DAY 15
0
自我挑戰組

Be friend with JavaScript系列 第 15

Day 15 - Destructuring assignment

  • 分享至 

  • xImage
  •  

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 是小明。

  • 物件解構
    過去我們在取得 object 內的資料時,要命名變數並用.方式取得
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

上一篇
Day 14 - Arrow Function Expression & this
下一篇
Day 16 - Array Methods
系列文
Be friend with JavaScript39
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言