instanceOf
Test whether a value has in its prototype chain a specified constructor as a prototype property.
Installation
npm install @stdlib/assert-instance-of
Usage
var instanceOf = require( '@stdlib/assert-instance-of' );
instanceOf( value, constructor )
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 );
Notes
-
The function throws a TypeError
if provided a constructor
argument which is not callable.
var bool = instanceOf( {}, null );
-
While the prototype of an object
created using object literal notion is undefined
, the function returns true
when provided an object
literal and the Object
constructor. This maintains consistent behavior with the instanceof
operator.
var bool = ( {} instanceof Object );
bool = instanceOf( {}, Object );
Examples
var Number = require( '@stdlib/number-ctor' );
var instanceOf = require( '@stdlib/assert-instance-of' );
var bool = instanceOf( [], Array );
bool = instanceOf( [], Object );
bool = instanceOf( {}, Object );
bool = instanceOf( new Date(), Date );
bool = instanceOf( /.*/, RegExp );
bool = instanceOf( instanceOf, Function );
bool = instanceOf( null, Object );
bool = instanceOf( 5, Number );
bool = instanceOf( '5', String );
bool = instanceOf( void 0, Object );
bool = instanceOf( {}, Array );
bool = instanceOf( {}, Function );
Notice
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.
License
See LICENSE.
Copyright
Copyright © 2016-2022. The Stdlib Authors.