The objHasOwn() method returns a boolean indicating whether the object
has the specified property as its own property (as opposed to inheriting it).
If the property is inherited, or does not exist, the method returns false.
The objHasOwn() method returns true if the specified property is a direct property
of the object — even if the property value is null or undefined. The method returns
false if the property is inherited, or has not been declared at all. Unlike the in operator,
this method does not check for the specified property in the object's prototype chain.
It is recommended over objHasOwnProperty () because it works for objects created using
objCreate(null) and with objects that have overridden the inherited hasOwnProperty() method.
While it is possible to workaround these problems by calling Object.prototype.hasOwnProperty()
on an external object, Object.hasOwn() is more intuitive.
The objHasOwn() method returns a boolean indicating whether the object has the specified property as its own property (as opposed to inheriting it). If the property is inherited, or does not exist, the method returns false.
The objHasOwn() method returns true if the specified property is a direct property of the object — even if the property value is null or undefined. The method returns false if the property is inherited, or has not been declared at all. Unlike the in operator, this method does not check for the specified property in the object's prototype chain.
It is recommended over objHasOwnProperty () because it works for objects created using objCreate(null) and with objects that have overridden the inherited hasOwnProperty() method. While it is possible to workaround these problems by calling Object.prototype.hasOwnProperty() on an external object, Object.hasOwn() is more intuitive.
Since
0.4.3
Example