Do not access Object.prototype method 'hasOwnProperty' from target object报错问题解析

438 阅读1分钟

Do not access Object.prototype method 'hasOwnProperty' from target object 解析

编写代码时,如果你使用eslint的话,写下如下代码:

let obj = {}
obj.hasOwnProperty('xxx')

此时会在编辑器中提示你一个错误警告:

Do not access Object.prototype method 'hasOwnProperty' from target object,发现是新版本的ESLint使用了禁止直接调用 Object.prototypes 的内置属性开关,可以发现ESLint 配置文件中的 "extends": "eslint:recommended" 属性启用了此规则。

你可以使用如下形式:

Object.prototype.hasOwnProperty.call(obj, 'xxx')