阮一峰的ES6指出任何定义了遍历器接口的对象,都可以用扩展运算符转为真正的数组。
以遍历到DOM节点为例:
let nodeList = document.querySelectorAll('div');
let array = [...nodeList];
但是对于没有部署遍历器Iterator的对象,扩展运算符则束手无策:
let arrayLike = {
'0': 'a',
'1': 'b',
'2': 'c',
length: 3
};
let arr = [...arrayLike];
console.log(arr);//TypeError: arrayLike is not iterable