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