How to check whether an object has a property by js
Editor to share with you js how to check whether an object has a certain attribute, I believe that most people do not know much about it, so share this article for your reference, I hope you can learn a lot after reading this article, let's go to know it!
Check whether an object has an attribute
When you need to check whether a property exists in an object, you might do this:
Var obj = {name: 'desert'}; if (obj.name) {console.log (true) / / > Result: true}
This is OK, but you need to know that there are two native ways to solve such problems. The in operator and Object.hasOwnProperty, which can be used by any object that inherits from Object.
Var obj = {name: 'desert'}; obj.hasOwnProperty ('name'); / / > true'name' in obj; / / > trueobj.hasOwnProperty (' valueOf'); / / > false, valueOf inherits from the prototype chain 'valueOf' in obj; / / > true
The depth of the check property is different, in other words, hasOwnProperty only returns true when it has this property itself, while the in operator does not distinguish between attributes that come from itself or inherit from the prototype chain.
This is another example:
Var myFunc = function () {this.name = 'Desert';}; myFunc.prototype.age ='10 days';var user = new myFunc (); user.hasOwnProperty ('name'); > Result: trueuser.hasOwnProperty (' age'); > Result: false, / / because age comes from the prototype chain and above is all the content of the article "how to check whether an object has an attribute or not". Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!