ECMA Script 6 解構賦值 模式匹配

2022-05-04 01:27:10 字數 737 閱讀 7228

解構賦值

從陣列中提取值,按照對應位置,對變數賦值

只要等號右邊的值不是物件或陣列,就先將其轉為物件。

由於 undefined 和 null 無法轉為物件,

所以對它們進行解構賦值,都會報錯

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

只要某種資料結構具有 iterator 介面,都可以採用陣列形式的解構賦值

應用:

注意,es6 內部使用嚴格相等運算子(===),判斷乙個位置是否有值

所以,只有當乙個陣列成員嚴格等於undefined,預設值才會生效。

如果預設值是乙個表示式,那麼這個表示式是惰性求值的,即只有在用到的時候,才會求值

此時,字串被轉換成了乙個類似陣列的物件

應用:

如此遍歷   for(let [key, value] of map){}

任何部署了 iterator 介面的物件,都可以用for...of迴圈遍歷

ECMAScript6 常用解構賦值

一 解構賦值按照一定模式,從陣列和物件中提取值,對變數進行賦值 1.陣列解構let arr 1 2,3 現在要求取出陣列的每一項 傳統的方式 let a arr 0 let b arr 1 let c arr 2 console.log a,b,c 1,2,3 在es6中提供了解構的語法 可以得到陣...

ECMA Script 6 變數的解構賦值

1 陣列的結構和賦值 es6 允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構 2 物件等可以這麼賦值 3 函式引數的解構賦值 function add x,y add 1,2 3 基本用途 交換變數 a,b b,a 函式返回多個值 類似於陣列 返回乙個陣列 function e...

ECMAScript 6 陣列的解構賦值

模式匹配 只要等號兩邊的模式相同,左邊的變數就會被賦予對應的值。let a,b,c 1,2,3 巢狀陣列進行解構 let foo,bar baz 1,2 3 foo 1 bar 2 baz 3 let third foo bar baz third baz let x,y 1,2,3 x 1 y 3...