【发布时间】:2019-02-04 17:17:32
【问题描述】:
我有一个带有一些键和值的对象。
我最初有这个循环:
for(const key in commands) {
if (commands.hasOwnProperty(key)) {
const value = commands[key];
// Do something else
}
}
这给了我以下 eslint 错误:
for..in 循环遍历整个原型链,这几乎不是您想要的。使用 Object.{keys,values,entries},并遍历生成的数组。 (无限制语法)
所以我把它改成了这样:
Object.keys(commands).forEach(key => {
if (commands.hasOwnProperty(key)) {
const value = commands[key];
}
});
现在,由于hasOwnProperty,我收到以下错误:
不要从目标对象访问 Object.prototype 方法“hasOwnProperty”。 (无原型内置)
如何编写一个简单的循环来遍历键,同时避免 eslint 错误?
【问题讨论】:
-
不要使用
Object.keys(commands).forEach(key => {。如果有的话,请使用for (const key of Object.keys(commands)) {。
标签: javascript eslint