Function Name
Determine a function's name.
Usage
var functionName = require( '@stdlib/utils/function-name' );
functionName( fcn )
Returns the name of a function
.
var v = functionName( Math.sqrt );
// returns 'sqrt'
If provided an anonymous function
, the function returns an empty string
or the string "anonymous"
.
var v = functionName( function () {} );
// returns '' || 'anonymous'
If provided a value which is not a function
, the function throws a TypeError
.
try {
functionName( 'beep' );
// throws error...
} catch ( err ) {
console.error( err );
}
Notes
For more information regarding the naming of anonymous functions, see
- Function Names in ES6
- Webkit bug 7726
- MDN
Examples
var Float64Array = require( '@stdlib/array/float64' );
var Buffer = require( '@stdlib/buffer/ctor' );
var Number = require( '@stdlib/number/ctor' );
var Boolean = require( '@stdlib/boolean/ctor' );
var Function = require( '@stdlib/function/ctor' );
var functionName = require( '@stdlib/utils/function-name' );
var v = functionName( Math.sqrt );
// returns 'sqrt'
v = functionName( Float64Array );
// returns 'Float64Array'
v = functionName( Buffer );
// returns 'Buffer'
v = functionName( Date );
// returns 'Date'
v = functionName( String );
// returns 'String'
v = functionName( Boolean );
// returns 'Boolean'
v = functionName( Function );
// returns 'Function'
v = functionName( Number );
// returns 'Number'
v = functionName( function foo() {} );
// returns 'foo'
v = functionName( function () {} );
// returns '' || 'anonymous'