gpt4 book ai didi

javascript - javascript 中的 for(let key in object) 有什么问题? IDE 警告似乎多余

转载 作者:太空宇宙 更新时间:2023-11-04 02:46:00 24 4
gpt4 key购买 nike

我使用 phpstorm,在过去的半年左右的时间里,它开始警告我有关这样的代码:

    for( let key in attachmentPaths ){
requestObject.formData.attachments.push( fs.createReadStream(attachmentPaths[key]) )
}

关于 [key] 的警告

Possible iteration over unexpected (custom/inherited) members, probably missing hasOwnProperty check

我理解警告消息,但我不明白 for() 如何这样不好吗?

当我们循环遍历找到的键的对象时,确保 key 存在于对象中的额外检查肯定是愚蠢的......?

最佳答案

Surely additional checks to ensure the key exists with the object

错误消息不是这么说的。

重要的部分是“意外(自定义/继承)成员”。

您可能会发现自己正在处理您没有预料到的额外属性,这些属性是在原型(prototype)链上继承的。

考虑:

Object.prototype.surprise = "surprise!";
var foo = {
a: 1,
b: 2
};
for (var bar in foo) {
console.log(bar, foo[bar]);
}

关于javascript - javascript 中的 for(let key in object) 有什么问题? IDE 警告似乎多余,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47139916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com