|  | ||
|---|---|---|
| .. | ||
| 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