解决报错:Do not access Object.prototype method ‘hasOwnProperty‘ from target object no

出现报错情况:

You may use special comments to disable some warnings.
Use // eslint-disable-next-line to ignore the next line.
Use /* eslint-disable */ to ignore all warnings in a file.
ERROR in [eslint]
E:\project\todolist\src\components\MyItem.vue
  36:19  error  Do not access Object.prototype method 'hasOwnProperty' from target object  no-prototype-builtins 

✖ 1 problem (1 error, 0 warnings)
webpack compiled with 1 error

出现这种情况是由于Eslint的语法检查,ESLint是一个能帮助识别报告JS中的不良模式,以便维护代码

在ECMAScript5.1中,新增了 Object.create,它支持使用指定的 [[Prototype]] 创建对象。Object.create(null)是一种常见的模式,用于创建将用作映射的对象

Object.create(null) 创建的对象是一个空对象,在该对象上没有继承 
Object.prototype 原型链上的属性或者方法,例如:toString(), hasOwnProperty()等方法

 因为 no-prototype-builtins 规则不允许Object.prototype直接从对象调用方法,所以会导致这种错误

解决方案:使用call方法

 call() 方法是预定义的 JavaScript 方法。

它可以用来调用所有者对象作为参数的方法。

通过 call(),您能够使用属于另一个对象的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

女码农୧( ⁼̴̶̤̀ω⁼̴̶̤́ )૭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值