我想說的是
解構賦值語法是 ES6 的新特性,可以將陣列或物件中的資料取出成獨立變數
這篇來談 煉金術的基礎
不要瞎掰好嗎
來說說「解構」,當初第一次看到真的是無法理解
為什麼要搞這麼多新奇...而不有趣的東西出來呢?
到現在我仍然不能理解啦,但是中間有去寫了一下 python 稍微比較能接受這種用法
解構賦值有點像是傳送門的概念,將右方的資料往左邊送
然後會一個位置對一個值,該在哪就在哪
當沒有對應的值時,就會得到 undefined
const {useState} = React;
useState();
相等於
React.useState();
// 基本用法
const [a, b] = [1, 2] // a=1, b=2
// 略過運算(Spread operator)
const [a, , b] = [1, 2, 3] // a=1, b=3
// 其餘運算(Rest Operator)
const [a, ...b] = [1, 2, 3] // a=1, b=[2,3]
兩個變數可以透過一個解構指派式交換
這個真的很奇葩,以前數字交換都要一個 tmp
做暫存感覺 javascript 又把學程式搞得更反人類了
var a = 1;
var b = 3;
[a, b] = [b, a];
console.log(a); // 3
console.log(b); // 1
物件上的使用則是根據同名屬性來賦予新的變數名稱
先找到同名屬性,然後再賦予對應的變數相應的值
真正被建立和賦值的是 { } 當中,冒號「:」後的變數
// 賦予新的變數名稱
const { prop: x, prop2: y } = { prop: 5, prop2: 10 } // x=5, y=10
const { prop: prop, prop2: prop2 } = { prop: 5, prop2: 10 } //prop = 5, prop2=10
基本的解構就是這樣子
箭頭函數、解構賦值都是現在常見的 ES6 特性,在學習 react 的時候會不停的遇到
所以有必要稍微了解一下基本用法,更深入的等遇到的時候再來研究
我知道看起來很像在騙篇數,但是這些東西對於沒在寫前端的後端工程師來說都是些新玩意兒
花點時間理解也是合情合理的
大...哥哥,準備好回來寫 react 了嗎