|
|
||
|---|---|---|
| .. | ||
| docs | ||
| lib | ||
| package.json | ||
| README.md | ||
isInheritedProperty
Test if an object has an inherited property.
Usage
var isInheritedProperty = require( '@stdlib/assert/is-inherited-property' );
isInheritedProperty( value, property )
Returns a boolean indicating if a value has an inherited property.
var obj = {
'beep': 'boop'
};
var bool = isInheritedProperty( obj, 'beep' );
// returns false
bool = isInheritedProperty( obj, 'hasOwnProperty' );
// returns true
bool = isInheritedProperty( obj, 'bap' );
// returns false
Notes
-
The function does not throw when provided
nullorundefined. Instead, the function returnsfalse.var bool = isInheritedProperty( null, 'a' ); // returns false bool = isInheritedProperty( void 0, 'a' ); // returns false -
Value arguments other than
nullorundefinedare coerced toobjects.var bool = isInheritedProperty( 'beep', 'toString' ); // returns true -
Non-symbol property arguments are coerced to
strings.function Foo() { return this; } Foo.prototype.null = true; Foo.prototype[ '[object Object]' ] = true; var obj = new Foo(); var bool = isInheritedProperty( obj, null ); // returns true bool = isInheritedProperty( obj, {} ); // returns true
Examples
var isInheritedProperty = require( '@stdlib/assert/is-inherited-property' );
var bool = isInheritedProperty( {}, 'hasOwnProperty' );
// returns true
bool = isInheritedProperty( { 'a': 'b' }, 'a' );
// returns false
bool = isInheritedProperty( { 'a': 'b' }, 'c' );
// returns false
bool = isInheritedProperty( { 'a': 'b' }, null );
// returns false
bool = isInheritedProperty( null, 'a' );
// returns false
bool = isInheritedProperty( void 0, 'a' );
// returns false
bool = isInheritedProperty( { 'null': false }, null );
// returns false
bool = isInheritedProperty( { '[object Object]': false }, {} );
// returns false