擴充套件運算子

2021-08-08 02:01:24 字數 600 閱讀 6543

:…三個點,主要是用來將陣列幻化為用逗號分隔的引數序列。

合併陣列

與解構賦值結合

如果將擴充套件運算子用於陣列賦值,只能放在引數的最後一位,否則會報錯。

將字串轉為真正的陣列

可以將類似陣列的物件轉為真正的陣列

map和set結構,generator函式

擴充套件運算子內部呼叫的是資料解構的iterator介面,因此只要具有iterrator介面的物件,都可以使用擴充套件運算子。

es6中本身就具有iterator介面的有:陣列、類似陣列的物件、map和set。如果對沒有iterator介面的物件使用擴充套件運算子,將會報錯。

(1)對一般的物件新增iterator介面。

let obj = 

}else}}

};}

};for(var val of obj.data)

(2)對類似陣列的物件使用iterator介面

let iterator = ;

for(let item of iterator)

擴充套件運算子

首先點明,es6的新特性之擴充套件運算子 spread 就是三個點 和es6的可變引數形式一樣。擴充套件運算子是很強大的乙個運算子,它能簡化很多在es5中會比較繁雜的操作。對於這個運算子,概念性的東西不多,所以這裡我就簡明扼要的給出一些它的常用場景 1 可變引數。雖然可變引數嚴格說不是擴充套件運算子...

擴充套件運算子

使用擴充套件運算子 拷貝陣列。const a,b 1,2,3 a 1 b 2,3 bad const len items.length const itemscopy let i for i 0 i len i good const itemscopy items 1 結構賦值 物件的解構賦值用於從...

擴充套件運算子

擴充套件運算子可以用在函式引數,陣列和物件上 函式裡面成為rest引數 function add values return sum add 2,5,3 10這樣就不需要用arguments引數了。a 1,2,3,4,5 5 1,2,3,4,5 function aaa a undefined aa...