检查某对象是否有某属性
当你需要检查某属性是否存在于一个对象,你可能会这样做:
1 | var myObject = { |
这是可以的,但是你需要知道有两种原生方法可以解决此类问题。in
操作符 和 Object.hasOwnProperty
,任何继承自Object
的对象都可以使用这两种方法。
看一下较大的区别
1 | var myObject = { |
两者检查属性的深度不同,换言之hasOwnProperty
只在本身有此属性时返回true,而in
操作符不区分属性来自于本身或继承自原型链。
这是另一个例子
1 | var myFunc = function() { |
在线示例!
同样建议阅读关于检查对象是否包含属性时常见错误的讨论。
原文作者: anhr
原文链接: http://yoursite.com/2019/11/04/javascript/2016-01-10-check-if-a-property-is-in-a-object/
版权声明: 转载请注明出处(必须保留原文作者署名原文链接)