for in
-
遍历 对象 的可枚举属性,得到其 键
包括原型链上面的属性的键也会被遍历
前提是:属性的enumerable
为 true -
键的类型会改变:
遍历出的属性值是字符串,而不是原本类型,如数字 -
顺序不明:遍历顺序是对象属性的枚举顺序,并不一定按数组的下标顺序遍历
for of
被设计用于遍历 可迭代对象
“Symbol.iterator” 通过此属性定义的方法进行遍历
使一般对象可进行 for of 方法:
Object.entries(obj) // 返回 可遍历 键值对 数组
Object.keys(obj) // 返回 可遍历 键 数组
Object.values(obj) // 返回 可遍历 值 数组
另一个方法
给一个对象添加 Symbol.iterator 属性