按照一定的模式, 將陣列或物件中的資料提取出來, 賦值給變數,這個過程叫做解構賦值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...