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 providednullorundefined. 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
nullorundefinedare coerced toobjects.var proto = getPrototypeOf( 'beep' ); // returns String.prototype proto = getPrototypeOf( 5 ); // returns Number.prototype
This behavior matches ES6/ES2015 native
Object.getPrototypeOfbehavior. In ES5, the nativeObject.getPrototypeOfthrows 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
See Also
@stdlib/assert/is-prototype-of: test if an object's prototype chain contains a provided prototype.