Test whether a value has in its prototype chain a specified constructor as a prototype property.
npm install @stdlib/assert-instance-ofAlternatively,
- To load the package in a website via a 
scripttag without installation and bundlers, use the ES Module available on theesmbranch. - If you are using Deno, visit the 
denobranch. - For use in Observable, or in browser/node environments, use the Universal Module Definition (UMD) build available on the 
umdbranch. 
The branches.md file summarizes the available branches and displays a diagram illustrating their relationships.
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@stdlib/assert/is-prototype-of: test if an object's prototype chain contains a provided prototype.@stdlib/utils/constructor-name: determine the name of a value's constructor.@stdlib/utils/inherit: implement prototypical inheritance by replacing the prototype of one constructor with the prototype of another constructor.@stdlib/utils/type-of: determine a value's type.
This package is part of stdlib, a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more.
For more information on the project, filing bug reports and feature requests, and guidance on how to develop stdlib, see the main project repository.
See LICENSE.
Copyright © 2016-2022. The Stdlib Authors.