DEV Community

Discussion on: Arrow function

Collapse
 
arif profile image
arif

Arrow functions do not have a arguments array

In JS arguments array in functions is a special object that can be used to get all the arguments passed to the function. Similar to this, arrow functions do not have their own binding to a arguments object, they are bound to arguments of enclosing scope.

Arrow functions are callable but not constructable

If a function is constructable, it can be called with new, i.e. new User(). If a function is callable, it can be called without new (i.e. normal function call).

Functions created through function declarations / expressions are both constructable and callable.

Arrow functions (and methods) are only callable. class constructors are only constructable.

If you are trying to call a non-callable function or to construct a non-constructable function, you will get a runtime error

let arrowFunc = () => {}
new arrowFunc()
This code gives the error:
arrowFunc is not a constructor

source