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

    Examples

    var Float64Array = require( '@stdlib/array/float64' );
    var Buffer = require( '@stdlib/buffer/ctor' );
    var Number = require( '@stdlib/number/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'