当我们在ts
中需要判断一个对象是否存在一个属性的时候,使用js
中的hasownPropperty
方法发现报红显示:
Do not access Object.prototype method 'hasOwnProperty' from target object.(eslintno-prototype-builtins)
下面介绍几种ts中使用hasOwnProperty
的方法。
1、直接使用,不去管报错
当我们的调用对象本身是javascript
中的Object
对象,在ts
转换成js
后是可以直接运行的。
const hasProp = obj.hasOwnProperty(prop)
2、强制转换
因为ts
中默认对象并不是Object
类型,我们只需要将其强制转换成Object
即可直接使用hasOwnProperty
方法:
const hasProp = (obj as Object).hasOwnProperty(prop)
3、通过改变方法指向进行执行
我们可以通过使用call、apply
等改变hasOwnProperty
的方法指向,来执行该方法:
const hasProp = Object.prototype.hasOwnProperty.call(obj, prop)
原文始发于微信公众号(胖蔡话前端):TypeScript中如何使用hasOwnProperty方法
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/223206.html