Iterator是一种机制,它是一种接口,为各种的数据结构提供统一的访问机制。任何数据结构只要部署Iterator接口,就可以完成遍历操作。
当使用for...of循环遍历某种数据结构时,该循环会自动寻找Iterator接口。
原生具备Iterator的接口
Array Map Set String TypedArray 函数的arguments对象 NodeList对象
对于普通的对象,for...of结构不能直接使用,会报错。必须部署了Iterator接口后才能使用。
javascript原有的for...in循环只能获得对象的键名,不能直接获取键值。