Javascript 这个“如果”语句是否多余?

Javascript 这个“如果”语句是否多余?,javascript,Javascript,我在一些文档中找到了这个片段。if语句是否冗余 for (var key in contactData) { if (contactData.hasOwnProperty(key)) { // Omitted } } 我在我的浏览器控制台中尝试了这一点,两个for循环都打印出了相同的内容 contactData = {}; contactData.a = 1; contactData.b = 2; for (var key in contactData) {

我在一些文档中找到了这个片段。
if
语句是否冗余

for (var key in contactData) {
    if (contactData.hasOwnProperty(key)) {
        // Omitted
    }
}
我在我的浏览器控制台中尝试了这一点,两个
for
循环都打印出了相同的内容

contactData = {};
contactData.a = 1;
contactData.b = 2;
for (var key in contactData) {
    if (contactData.hasOwnProperty(key)) {
        console.log(key);
    }
}
for (var key in contactData) {
    console.log(key);
}

不完全是多余的,但可能是有害的。如果您与姓名
hasOwnProperty
的联系人有联系,该怎么办?我想说这是重复的,我同意@Theraot,不同意@deceze♦该检查仅作为对错误/可疑地向Object.prototype添加可枚举属性的代码的保护。prototype(在本例中,用作源的对象通常是没有特殊prototype链的普通对象)并非完全冗余,但可能有害。如果您与姓名
hasOwnProperty
的联系人有联系,该怎么办?我想说这是重复的,我同意@Theraot,不同意@deceze♦该检查仅作为对错误/可疑地将可枚举属性添加到Object.prototype的代码的保护(在这种情况下,用作源的对象通常是没有特殊原型链的普通对象)