ES6 解構賦值

2021-08-01 03:23:50 字數 1355 閱讀 4757

陣列的解構賦值

let [a, b] = [12, 13]

let [a, [b, c], d] = [13, [15, 16],]

let [a, [[b], c]] = [78, [[12], 23]]

let [x, y] = [1, 3, 5] // x = 1,y = 3

let [x, y, ...z] = ['a'] //x = a,y = undefined ,z =

let [h, ...b] = [1, 2, 3, 4] //1,[2,3,4]

//預設值

// let [x = true, y = undefined] = [123, 456]

物件的解構賦值

陣列的元素是按次序排列的,變數的取值由它的位置決定;

而物件的屬性沒有次序,變數必須與屬性同名,才能取到正確的值。

let  =  

let = //ff undefined

let = //bb 123

let obj = 

let = obj

f//hello

e//word

let  = 

bb //123

aa //error: foo is not defined

//aa是匹配的模式,bb才是變數。真正被賦值的是變數bb,而不是模式aa。

let foo

( = )

let命令下面一行的圓括號是必須的,否則會報錯。

因為解析器會將起首的大括號,理解成乙個**塊,而不是賦值語句。

let arr = [1,2,3]

let = arr

first

//1last

//3

字串的解構賦值

const[a,b,c,d,e] = 'hello'

a //h

b //e

...

類似陣列的物件都有乙個length屬性,因此還可以對這個屬性解構賦值。

let = 'hello'

len//5

數值和布林型別的解構賦值

解構賦值時,如果等號右邊是數值和布林值,則會先轉為物件。

let = 123

s === number.prototype.tostring //true

ES6解構賦值

一 基本用法 解構 destructuring 按照一定的模式,從陣列或者物件中提取值,對變數進行賦值。let par1,par2,par3 1,2 console.log par1,par2,par3 1 2 不完全解構時par3對值為undefined 解構賦值允許指定變數對預設值。let pa...

es6解構賦值

coding changes the world accumulating makes yourself 主要從三個方面講述 陣列式的解構賦值 物件式的解構賦值 函式中的解構賦值 preface 現今的變數宣告語法十分的直接 左邊是乙個變數名,右邊可以是乙個陣列 的表示式或乙個物件 的表示式,等等。...

ES6解構賦值

陣列的解構賦值 陣列的解構賦值需要左邊的變數結構需要等於右邊的值的結構,即給對應位置的變數宣告對應位置的值,變數的取值由位置決定 只要某種資料型別具有迭代器 iterator 介面,就可以使用陣列的解構賦值,不一定非是陣列 es6中具有iterator介面的資料型別有 陣列,類陣列物件,字串,set...