isObjectLike

Test if a value 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