DEV Community

Cover image for Arrow function
GiandoDev
GiandoDev

Posted on

Arrow function

Arrow function is a syntactic sugar which ES6 brings us.
Here an example of a simple arrow function:
Alt Text
If we have just one parameter in our function we may write our arrow function in two ways:
Alt Text
Maybe we don't have any parameter and we have still two options:
Alt Text
Arrow function provide, by default, an implicit return statement if two condition are present:
Alt Text

Top comments (5)

Collapse
 
nerdychap profile image
Siyabonga Hlengwa

This is a great and easy way to explain switching from the old way of defining functions to using arrow functions.

Collapse
 
souvikm40766885 profile image
Souvik Mandal

Why need arrow function?
Is it comes with just short our code or ........what?

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

Collapse
 
hi_artem profile image
Artem • Edited

Not really. Arrow functions don't have their own this, which can be handy in some cases.

Collapse
 
giandodev profile image
GiandoDev

I don’t want to sell you my point of view, instead I suggest you read what they say here and get your own idea based on your style of writing code.
developer.mozilla.org/en-US/docs/W...