跳到主要内容

for of

2025年03月13日
柏拉文
越努力,越幸运

一、认识


二、语法


三、问题


3.1 for in 与 for of 有什么区别?

for in 用于遍历对象的可枚举属性,包括对象自身的属性和继承自原型链上的可枚举属性。如果直接用于数组,会遍历数组的索引,但也可能遍历到继承属性(除非用 hasOwnProperty 做过滤)。

for of 用于遍历实现了迭代器接口的对象,如数组、字符串、MapSet 等, 返回的是可迭代对象中的值, 而不是属性键。原理: 通过对象的 Symbol.iterator 方法获取迭代器, 从而依次返回迭代器产生的每个值。