ES6之解構賦值

2021-08-30 04:23:36 字數 1511 閱讀 5889

1. es6 允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構 。 

let  [a,b,c] = [1, 2 , 3]

2. 如果等號的右邊不是陣列(或者嚴格地說,不是可遍歷的結構,參見《iterator》一章),那麼將會報錯。如下例 :

let  [foo] =1

let   [foo] = false

let [foo] = nan

let [foo] = undefined

let [foo] = null

let [foo] ={}

3 .解構賦值允許指定預設值。

let [foo = 123] =[ ]     //  foo=123

注意,es6 內部使用嚴格相等運算子(===),判斷乙個位置是否有值。所以,只有當乙個陣列成員嚴格等於undefined,預設值才會生效。

let [x=1] = [undefined]    //x=1

let [x=1] = [null]    //x = null

4.物件的解構賦值 

let  =

// aoo=123, boo=456

說明 :物件的解構與陣列有乙個重要的不同。陣列的元素是按次序排列的,變數的取值由它的位置決定;而物件的屬性沒有次序,變數必須與屬性同名,才能取到正確的值。

5 . 物件的解構也可以指定預設值。

var =

// x=1 y=5

var =

// y=8

說明 : 預設值生效的條件是,物件的屬性值嚴格等於undefined

var =

6 解構賦值的用途 如下例 :

let x=1;let x=2;

[x,y] = [y, x]

1. 上面**交換變數xy的值,這樣的寫法不僅簡潔,而且易讀,語義非常清晰。

2.提取json資料 如:

let  jsondata== jsondata

console.log( id, code, arr)     //10  0   [10, 20]

3 .輸入模組的指定方法 

1 .載入模組時,往往需要指定輸入哪些方法。解構賦值使得輸入語句非常清晰。

const  = require( "source-map")

4 .遍歷map解構 。

(1)任何部署了 iterator 介面的物件,都可以用for...of迴圈遍歷。map 結構原生支援 iterator 介面,配合變數的解構賦值,獲取鍵名和鍵值就非常方便。

const map=new map()

map.set('first' ,'hello' )

map.set(' second ', 'world')

for( let [ key,value ] of map) {

console.log( key )

ES6之 解構賦值

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

ES6之解構賦值

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

ES6 之解構賦值

按照一定的模式,將陣列或物件中的資料提取出來,賦值給變數,這個過程叫做解構賦值 1 賦值 將陣列或物件中的資料提取出來,賦值給變數let arr 1 2,3 4,5 let 變數名 值 let a arr 0 let b arr 1 console.log a,b 2 解構 按照一定的模式 陣列模式...