千家信息网

js如何检查某对象是否有某属性

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,小编给大家分享一下js如何检查某对象是否有某属性,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!检查某对象是否有某属性当你需
千家信息网最后更新 2025年02月03日js如何检查某对象是否有某属性

小编给大家分享一下js如何检查某对象是否有某属性,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

检查某对象是否有某属性

当你需要检查某属性是否存在于一个对象,你可能会这样做:

var obj = {    name: '大漠'};if (obj.name) {     console.log(true) // > Result: true}

这是可以的,但是你需要知道有两种原生方法可以解决此类问题。in 操作符 和 Object.hasOwnProperty,任何继承自Object的对象都可以使用这两种方法。

var obj = {    name: '大漠'};obj.hasOwnProperty('name');     // > true'name' in obj;             // > trueobj.hasOwnProperty('valueOf');  // > false, valueOf 继承自原型链'valueOf' in obj;          // > true

两者检查属性的深度不同,换言之hasOwnProperty只在本身有此属性时返回true,而in操作符不区分属性来自于本身或继承自原型链。

这是另一个例子:

var myFunc = function() {    this.name = '大漠';};myFunc.prototype.age = '10 days';var user = new myFunc();user.hasOwnProperty('name'); > Result: trueuser.hasOwnProperty('age'); > Result: false,   //  因为age来自于原型链

以上是"js如何检查某对象是否有某属性"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0