for-in
循环。
Object
的原型可能被错误修改时。
例如,以下代码将打印 42 和 myMethod:
Object.prototype.myMethod = function myMethod() {};
let a = { foo: 42 };
for (let i in a) {
console.log(a[i]);
}
建议将整个循环替换为 Object.keys()
方法,或添加 hasOwnProperty()
检查。 应用快速修复后,代码如下所示:
for (let i in a) {
if (a.hasOwnProperty(i)) {
console.log(a[i]);
}
}