for…of循环
for...of
循环需要配合 Object.keys(obj)
、Object.values(obj)
、Object.entries(obj)
配合使用才能迭代对象。
const objPrototype = {
c: 3,
d: 4,
};
const obj = Object.create(objPrototype);
obj.a = 1;
obj.b = 2;
for (const key of Object.kes(obj) {
console.log(key);
}
输出:
a
b
for…in循环
const objPrototype = {
c: 3,
d: 4,
};
const obj = Object.create(objPrototype);
obj.a = 1;
obj.b = 2;
for (const key in obj) {
console.log(key);
}
输出:
a
b
c
d
区别
Object.keys(obj)
只会迭代自身属性for...in
会迭代[[Prototype]]
原型链上的属性