for...in与for...of的区别

版权声明:内容多为自言自语,请自行判断有无价值。 https://blog.csdn.net/weixin_41702247/article/details/82963106

for...in

1.遍历对象的可枚举属性(属性描述符enumerable为true的属性,通过Object.defineProperty(obj,prop,descriptor)修改,通过obj.propertyIsEnumerable(prop)进行判断)

2.向上查找原型链中的属性(如仅想遍历自身属性,加一层if,通过hasOwnProperty()筛选即可)

for...of

1.遍历可迭代对象的属性(可迭代对象:对象必须实现 @@iterator 方法,,这意味着这个对象(或其原型链中的一个对象)必须具有带 Symbol.iterator 键的属性)

2.仅迭代自身属性

猜你喜欢

转载自blog.csdn.net/weixin_41702247/article/details/82963106