保持 for-in 循环
要求 for-in
循环包含 if
语句。
使用 for-in
循环遍历对象会包含通过原型链继承的属性。这种行为可能会导致循环中出现意外的项目。
无效
for (const key in obj) {
foo(obj, key);
}
有效
for (const key in obj) {
if (Object.hasOwn(obj, key)) {
foo(obj, key);
}
}
for (const key in obj) {
if (!Object.hasOwn(obj, key)) {
continue;
}
foo(obj, key);
}