@stdlib/assert-is-object-like

Test if a value is object-like.

Usage no npm install needed!

<script type="module">
  import stdlibAssertIsObjectLike from 'https://cdn.skypack.dev/@stdlib/assert-is-object-like';
</script>

README

isObjectLike

NPM version Build Status Coverage Status

Test if a value is object-like.

Installation

npm install @stdlib/assert-is-object-like

Usage

var isObjectLike = require( '@stdlib/assert-is-object-like' );

isObjectLike( value )

Tests if a value is object-like.

var bool = isObjectLike( {} );
// returns true

bool = isObjectLike( [] );
// returns true

bool = isObjectLike( true );
// returns false

isObjectLike.isObjectLikeArray( value )

Tests if a value is an array of object-like values.

var bool = isObjectLike.isObjectLikeArray( [ {}, [] ] );
// returns true

bool = isObjectLike.isObjectLikeArray( [ {}, '3.0' ] );
// returns false

bool = isObjectLike.isObjectLikeArray( [] );
// returns false

Notes

  • Return values are the same as would be obtained using the built-in typeof operator except that null is not considered an object.

    var bool = ( typeof null === 'object' );
    // returns true
    
    bool = isObjectLike( null );
    // returns false
    

Examples

var Int8Array = require( '@stdlib/array-int8' );
var ArrayBuffer = require( '@stdlib/array-buffer' );
var isObjectLike = require( '@stdlib/assert-is-object-like' );

var bool = isObjectLike( {} );
// returns true

bool = isObjectLike( [] );
// returns true

bool = isObjectLike( /./ );
// returns true

bool = isObjectLike( new Date() );
// returns true

bool = isObjectLike( Math );
// returns true

bool = isObjectLike( JSON );
// returns true

bool = isObjectLike( new Int8Array() );
// returns true

bool = isObjectLike( new ArrayBuffer() );
// returns true

bool = isObjectLike( 'a' );
// returns false

bool = isObjectLike( 5 );
// returns false

bool = isObjectLike( null );
// returns false

bool = isObjectLike( void 0 );
// returns false

bool = isObjectLike( function foo() {} );
// returns false

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.

Community

Chat


License

See LICENSE.

Copyright

Copyright © 2016-2022. The Stdlib Authors.