Test whether a value has in its prototype chain a specified constructor as a prototype property.
var instanceOf = require( '@stdlib/assert/instance-of' );Tests whether a value has in its prototype chain a specified constructor as a prototype property.
var inherit = require( '@stdlib/utils/inherit' );
function Foo() {
return this;
}
function Bar() {
return this;
}
inherit( Bar, Foo );
var bar = new Bar();
var bool = instanceOf( bar, Foo );
// returns true-
The function throws a
TypeErrorif provided aconstructorargument which is not callable.var bool = instanceOf( {}, null ); // throws <TypeError>
-
While the prototype of an
objectcreated using object literal notion isundefined, the function returnstruewhen provided anobjectliteral and theObjectconstructor. This maintains consistent behavior with theinstanceofoperator.var bool = ( {} instanceof Object ); // returns true bool = instanceOf( {}, Object ); // returns true
var Number = require( '@stdlib/number/ctor' );
var instanceOf = require( '@stdlib/assert/instance-of' );
var bool = instanceOf( [], Array );
// returns true
bool = instanceOf( [], Object );
// returns true
bool = instanceOf( {}, Object );
// returns true
bool = instanceOf( new Date(), Date );
// returns true
bool = instanceOf( /.*/, RegExp );
// returns true
bool = instanceOf( instanceOf, Function );
// returns true
bool = instanceOf( null, Object );
// returns false
bool = instanceOf( 5, Number );
// returns false
bool = instanceOf( '5', String );
// returns false
bool = instanceOf( void 0, Object );
// returns false
bool = instanceOf( {}, Array );
// returns false
bool = instanceOf( {}, Function );
// returns false