ES6 扩展运算符 三点(...)

104 阅读1分钟

1.替代数组的 apply 方法

// ES5 的写法  
function f(x, y, z) {  
// ...  
}  
var args = [0, 1, 2];  
f.apply(null, args);  
// ES6 的写法  
function f(x, y, z) {  
// ...  
}  
var args = [0, 1, 2];  
f(...args); 

2.合并数组

[1, 2].concat(more)  
// ES6  
[1, 2, ...more]  
var arr1 = ['a', 'b'];  
var arr2 = ['c'];  
var arr3 = ['d', 'e'];  
// ES5 的合并数组  
arr1.concat(arr2, arr3);  
// [ 'a', 'b', 'c', 'd', 'e' ]  
// ES6 的合并数组  
[...arr1, ...arr2, ...arr3]  
// [ 'a', 'b', 'c', 'd', 'e' ]  

3.将字符串转为真正的数组

[...'hello']  
// [ "h", "e", "l", "l", "o" ]  

4.实现了 Iterator 接口的对象

var nodeList = document.querySelectorAll('div');  
var array = [...nodeList];