什么是 Iterable 对象,与 Array 有什么区别
Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 358
Author 回答者: shfshanyue
实现了 [Symbol.iterator]
属性的对象即是 Iterable
对象,然后可以使用操作符 for...of
进行迭代
> l = [1, 2, 3, 4]
< (4) [1, 2, 3, 4]
> l[Symbol.iterator]
< ƒ values() { [native code] }
详细参考 https://javascript.info/iterable
Author 回答者: KellyVV130
区别在于Array一定有索引和length属性,而可迭代对象不一定有。
数组同时也有内建方法,如slice()
。
数组是一个可迭代对象,而并不是所有可迭代对象都是数组。