一、认识
二、语法
三、问题
3.1 for in 与 for of 有什么区别?
for in
用于遍历对象的可枚举属性,包括对象自身的属性和继承自原型链上的可枚举属性。如果直接用于数组,会遍历数组的索引,但也可能遍历到继承属性(除非用 hasOwnProperty
做过滤)。
for of
用于遍历实现了迭代器接口的对象,如数组、字符串、Map
、Set
等, 返回的是可迭代对象中的值, 而不是属性键。原理: 通过对象的 Symbol.iterator
方法获取迭代器, 从而依次返回迭代器产生的每个值。