getPrototypeOf
Return the prototype of a provided object.
Usage
var getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );
getPrototypeOf( value )
Returns the prototype
of an input value
.
var proto = getPrototypeOf( {} );
// returns {}
Notes
In contrast to the native
Object.getPrototypeOf
, this function does not throw when providednull
orundefined
. Instead, similar to when provided any value with no inherited properties, the function returnsnull
.var proto = getPrototypeOf( Object.create( null ) ); // returns null proto = getPrototypeOf( null ); // returns null proto = getPrototypeOf( void 0 ); // returns null
Value arguments other than
null
orundefined
are coerced toobjects
.var proto = getPrototypeOf( 'beep' ); // returns String.prototype proto = getPrototypeOf( 5 ); // returns Number.prototype
This behavior matches ES6/ES2015 native
Object.getPrototypeOf
behavior. In ES5, the nativeObject.getPrototypeOf
throws when provided non-object values.
Examples
var getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );
var proto = getPrototypeOf( 'beep' );
// returns String.prototype
proto = getPrototypeOf( 5 );
// returns Number.prototype
proto = getPrototypeOf( true );
// returns Boolean.prototype
proto = getPrototypeOf( null );
// returns null
proto = getPrototypeOf( void 0 );
// returns null
proto = getPrototypeOf( [] );
// returns Array.prototype
proto = getPrototypeOf( {} );
// returns {}
proto = getPrototypeOf( function foo() {} );
// returns Function.prototype