| 
				 | 
			||
|---|---|---|
| .. | ||
| docs | ||
| lib | ||
| package.json | ||
| README.md | ||
Constructor Name
Determine the name of a value's constructor.
Usage
var constructorName = require( '@stdlib/utils/constructor-name' );
constructorName( value )
Returns the name of a value's constructor.
var v = constructorName( 'a' );
// returns 'String'
v = constructorName( 5 );
// returns 'Number'
function Beep() {
    return this;
}
v = constructorName( new Beep() );
// returns 'Beep'
| description | value | constructor | notes | 
|---|---|---|---|
| string | 'beep' | 
'String' | 
|
| number | 5 | 
'Number' | 
|
| NaN | NaN | 
'Number' | 
|
| infinity | +infinity/-infinity | 
'Number' | 
|
| boolean | true/false | 
'Boolean' | 
|
| null | null | 
'Null' | 
|
| undefined | undefined | 
'Undefined' | 
|
| array | ['beep', 5] | 
'Array' | 
|
| object | {'foo': 'bar'} | 
'Object' | 
|
| function | function (){} | 
'Function' | 
|
| symbol | Symbol() | 
'Symbol' | 
ES2015 | 
| regexp | /./ | 
'RegExp' | 
Android 4.1+ | 
| String | new String('beep') | 
'String' | 
|
| Number | new Number(5) | 
'Number' | 
|
| Boolean | new Boolean(false) | 
'Boolean' | 
|
| Object | new Object() | 
'Object' | 
|
| Array | new Array() | 
'Array' | 
|
| Int8Array | new Int8Array() | 
'Int8Array' | 
|
| Uint8Array | new Uint8Array() | 
'Uint8Array' | 
|
| Uint8ClampedArray | new Uint8ClampedArray() | 
'Uint8ClampedArray' | 
|
| Int16Array | new Int16Array() | 
'Int16Array' | 
|
| Uint16Array | new Uint16Array() | 
'Uint16Array' | 
|
| Int32Array | new Int32Array() | 
'Int32Array' | 
|
| Uint32Array | new Uint32Array() | 
'Uint32Array' | 
|
| Float32Array | new Float32Array() | 
'Float32Array' | 
|
| Float64Array | new Float64Array() | 
'Float64Array' | 
|
| ArrayBuffer | new ArrayBuffer() | 
'ArrayBuffer' | 
|
| Buffer | new Buffer() | 
'Buffer' | 
Node.js | 
| Date | new Date() | 
'Date' | 
|
| RegExp | new RegExp('.') | 
'RegExp' | 
Android 4.1+ | 
| Function | new Function('x', 'return x') | 
'Function' | 
|
| Map | new Map() | 
'Map' | 
ES2015 | 
| WeakMap | new WeakMap() | 
'WeakMap' | 
ES2015 | 
| Set | new Set() | 
'Set' | 
ES2015 | 
| WeakSet | new WeakSet() | 
'WeakSet' | 
ES2015 | 
| Error | new Error() | 
'Error' | 
|
| TypeError | new TypeError() | 
'TypeError' | 
|
| SyntaxError | new SyntaxError() | 
'SyntaxError' | 
|
| ReferenceError | new ReferenceError() | 
'ReferenceError' | 
|
| URIError | new URIError() | 
'URIError' | 
|
| RangeError | new RangeError() | 
'RangeError' | 
|
| EvalError | new EvalError() | 
'EvalError' | 
|
| Math | Math | 
'Math' | 
|
| JSON | JSON | 
'JSON' | 
IE8+ | 
| arguments | (function(){return arguments;})() | 
'Arguments' | 
IE9+ | 
| custom constructor | new Beep() | 
'Beep' | 
|
| anonymous constructor | new (function(){})() | 
'' | 
Notes
- 
If a value's constructor is an anonymous
function, the implementation returns an emptystring.var Beep = function () { return this; }; var v = constructorName( new Beep() ); // returns '' 
Examples
var Float32Array = require( '@stdlib/array/float32' );
var Float64Array = require( '@stdlib/array/float64' );
var Int8Array = require( '@stdlib/array/int8' );
var Int16Array = require( '@stdlib/array/int16' );
var Int32Array = require( '@stdlib/array/int32' );
var Uint8Array = require( '@stdlib/array/uint8' );
var Uint8ClampedArray = require( '@stdlib/array/uint8c' );
var Uint16Array = require( '@stdlib/array/uint16' );
var Uint32Array = require( '@stdlib/array/uint32' );
var ArrayBuffer = require( '@stdlib/array/buffer' );
var Buffer = require( '@stdlib/buffer/ctor' );
var Symbol = require( '@stdlib/symbol/ctor' );
var constructorName = require( '@stdlib/utils/constructor-name' );
function noop() {
    // Do nothing...
}
var v = constructorName( 'a' );
// returns 'String'
v = constructorName( 5 );
// returns 'Number'
v = constructorName( NaN );
// returns 'Number'
v = constructorName( null );
// returns 'Null'
v = constructorName( void 0 );
// returns 'Undefined'
v = constructorName( true );
// returns 'Boolean'
v = constructorName( false );
// returns 'Boolean'
v = constructorName( {} );
// returns 'Object'
v = constructorName( [] );
// returns 'Array'
v = constructorName( noop );
// returns 'Function'
v = constructorName( /./ );
// returns 'RegExp'
v = constructorName( new Date() );
// returns 'Date'
v = constructorName( new Map() );
// returns 'Map'
v = constructorName( new WeakMap() );
// returns 'WeakMap'
v = constructorName( new Set() );
// returns 'Set'
v = constructorName( new WeakSet() );
// returns 'WeakSet'
v = constructorName( Symbol( 'beep' ) );
// returns 'Symbol'
v = constructorName( new Error() );
// returns 'Error'
v = constructorName( new TypeError() );
// returns 'TypeError'
v = constructorName( new SyntaxError() );
// returns 'SyntaxError'
v = constructorName( new URIError() );
// returns 'URIError'
v = constructorName( new RangeError() );
// returns 'RangeError'
v = constructorName( new ReferenceError() );
// returns 'ReferenceError'
v = constructorName( new EvalError() );
// returns 'EvalError'
v = constructorName( new Int8Array() );
// returns 'Int8Array'
v = constructorName( new Uint8Array() );
// returns 'Uint8Array'
v = constructorName( new Uint8ClampedArray() );
// returns 'Uint8ClampedArray'
v = constructorName( new Int16Array() );
// returns 'Int16Array'
v = constructorName( new Uint16Array() );
// returns 'Uint16Array'
v = constructorName( new Int32Array() );
// returns 'Int32Array'
v = constructorName( new Uint32Array() );
// returns 'Uint32Array'
v = constructorName( new Float32Array() );
// returns 'Float32Array'
v = constructorName( new Float64Array() );
// returns 'Float64Array'
v = constructorName( new ArrayBuffer() );
// returns 'ArrayBuffer'
v = constructorName( new Buffer( 'beep' ) );
// returns 'Buffer'
v = constructorName( Math );
// returns 'Math'
v = constructorName( JSON );
// returns 'JSON'
function Person1() {
    return this;
}
v = constructorName( new Person1() );
// returns 'Person1'
var Person2 = function () {
    return this;
};
v = constructorName( new Person2() );
// returns ''