Skip to content

Latest commit

 

History

History
120 lines (69 loc) · 3.26 KB

File metadata and controls

120 lines (69 loc) · 3.26 KB

Function

Function constructor.

Usage

var Function = require( '@stdlib/function/ctor' );

Function( [...argNames,] body )

Returns a new function object.

var greet = new Function( 'name', 'return "Hello, "+name+"!"' );

var v = greet( 'Jane' );
// returns 'Hello, Jane!'

Argument names must be strings corresponding to valid JavaScript parameters (i.e., a plain identifier, or, in environments supporting such parameters, a rest parameter or destructured parameter, optionally with a default).

Notes

  • In pre-ES2015 environments, only plain identifiers (without defaults) are valid JavaScript parameters.
  • Creating Function objects with the Function constructor is less efficient than declaring a function via a function expression or a function statement.
  • The Function constructor can be invoked without the new operator (using new and not using new both return a new Function object).
  • The Function constructor creates functions which execute in the global scope. Hence, created functions cannot access variables local to the scope in which functions were created.

Examples

var Function = require( '@stdlib/function/ctor' );

var add = new Function( 'x', 'y', 'return x + y' );

var v = add( 1, 2 );
// returns 3