ES6 之解構賦值

2021-10-13 07:23:09 字數 2122 閱讀 4116

按照一定的模式, 將陣列或物件中的資料提取出來, 賦值給變數,這個過程叫做解構賦值

1、賦值:將陣列或物件中的資料提取出來,賦值給變數
let arr =[1

,2,3

,4,5

]// let 變數名=值

let a = arr[0]

let b = arr[1]

console.

log(a, b)

;

2、解構:按照一定的模式(陣列模式,物件模式)
// let 變數名=值

// let [變數名1,變數名2,...]=值

// let =值

let[

,, c, d]

= arr

console.

log(c, d)

;

1、這是乙個賦值運算 =

2、右邊是需要使用的資料

3、左邊是變數(按照一定的模式去宣告的變數,需要匹配右邊的資料的模式)

/* 陣列解構賦值 */

let arr =[1

,2,"a",[

3,4]

,];// 1.完全解構

let[a, b, c, d, e]

= arr;

console.

log(a, b, c, d, e)

;// 解析每乙個值

// 2.不完全解構

let[c, d]

= arr;

console.

log(c, d)

;// 1 2

// 不完全解構預設值

let[,,

,e,f]

= arr;

console.

log(e, f)

;// [3, 4],

// 解構失敗

// 解構失敗, 變數多於實際資料

let[a, b, c, d, e, f]

= arr;

console.

log(f)

;// undefined

// 解構賦值預設值

// 預設值只有當解構失敗或者值為undefined的時候才會生效

let[a, b, c, d, e, f=

0, g=0]

= arr;

console.

log(f, g)

;// 0 null

// 陣列的解構賦值, 是按照陣列的特性、順序解構的

<

/script>

// 物件解構賦值

// 物件解構不是順序解構, 不需要預設值

// let = 值

let obj =

// 解構成功

let= obj;

console.

log(a, n)

;// 解構失敗和解構失敗預設值

// 解構失敗: 沒有對應的key值 undefined

// 如果解析出來的值是undefined, 那麼預設值生效

let= obj;

console.

log(a, n, m, s, j)

;// 當key和變數名一致時, 可以簡寫

let= obj;

console.

log(age, name, ***)

;// 20 "jiaxin" female

function

myajax(=

),error:

function

(err)})

;}// myajax("get","./json/1.txt","json")

// myajax("get","./json/2.txt","json")

let obj =

// myajax(obj)//實參相當於等號的右邊 let =obj

let obj1 =

// myajax(obj1) //let =obj

myajax()

// 想讓所有項都保持預設 let ={}

ES6之 解構賦值

es6允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構賦值 destructuring 也可以簡稱 解構。下面用 進一步解釋一下什麼叫解構賦值。1.關於給變數賦值,傳統的變數賦值是這樣的 var arr 1,2,3 把陣列的值分別賦給下面的變數 var a arr 0 var b...

ES6之解構賦值

1.es6 允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構 let a,b,c 1,2 3 2.如果等號的右邊不是陣列 或者嚴格地說,不是可遍歷的結構,參見 iterator 一章 那麼將會報錯。如下例 let foo 1 let foo false let foo nan l...

ES6之解構賦值

es6允許按照一定模式從陣列和物件中提取值,對變數進行賦值 稱為解構賦值 const aaa 張三 李四 王二 麻子 let zhang,li,wang,ma aaa console.log zhang 張三 console.log li 李四 console.log wang 王二 console...