擴充套件運算子

2021-09-30 01:33:57 字數 1086 閱讀 3216

擴充套件運算子用於取出引數物件中的所有可遍歷屬性,拷貝到當前物件中。如果將擴充套件運算子用於陣列賦值,只能放在最後一位,否則會報錯。擴充套件運算子對物件的拷貝屬於淺拷貝,實際在拷貝的時候,拷貝的是物件的引用,當原物件發生變化,拷貝的物件也會跟著變化。

let obj =

;let obj2 =

obj2.b =

3// obj = ;

// obj2 = ;

// es5 的寫法  

function

f(x, y, z)

var args =[0

,1,2

]; f.(

null

, args)

;// es6 的寫法

function

f(x, y, z)

var args =[0

,1,2

];f(

...args)

;/************ math.max方法,簡化求出乙個陣列最大元素的寫法 *************/

// es5 的寫法

math.max.

(null,[

14,3,

77])// es6 的寫法

math.

max(

...[14,

3,77]

)// 等同於

math.

max(14,

3,77)

;

// es5 的寫法  

var arr1 =[0

,1,2

];var arr2 =[3

,4,5

];

array.prototype.push.

(arr1, arr2)

;// es6 的寫法

var arr1 =[0

,1,2

];var arr2 =[3

,4,5

];

arr1.

push

(...arr2)

;

擴充套件運算子

三個點,主要是用來將陣列幻化為用逗號分隔的引數序列。合併陣列 與解構賦值結合 如果將擴充套件運算子用於陣列賦值,只能放在引數的最後一位,否則會報錯。將字串轉為真正的陣列 可以將類似陣列的物件轉為真正的陣列 map和set結構,generator函式 擴充套件運算子內部呼叫的是資料解構的iterato...

擴充套件運算子

首先點明,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 結構賦值 物件的解構賦值用於從...