:…三個點,主要是用來將陣列幻化為用逗號分隔的引數序列。
合併陣列
與解構賦值結合
如果將擴充套件運算子用於陣列賦值,只能放在引數的最後一位,否則會報錯。
將字串轉為真正的陣列
可以將類似陣列的物件轉為真正的陣列
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...