Function declarations are used to create named functions. These functions can be called using their declared name. Function declarations are built from:
- The function keyword.
- The function name.
- An optional list of parameters separated by commas enclosed by a set of parentheses
- A function body enclosed in a set of curly braces
The example code provided contains a function named
add() that takes in 2 values and prints the sum of those numbers:
Functions can be called, or executed, elsewhere in code using parentheses following the function name. When a function is called, the code inside its function body runs. Arguments are values passed into a function when it is called.
The output would be:
Functions return (pass back) values using the
return ends function execution and returns the specified value to the location where it was called.
A common mistake is to forget the
return keyword, in which case the function will return undefined by default.
Arrow function expressions were introduced in ES6. These expressions are clean and concise. The syntax for an arrow function expression does not require the
function keyword and uses a fat arrow
=> to separate the parameter(s) from the body.
There are several variations of arrow functions:
- Arrow functions with a single parameter do not require
()around the parameter list.
- Arrow functions with a single expression can use the concise function body which returns the result of the expression without the
Arrow function with no arguments:
Arrow function with a single argument:
Arrow function with two arguments:
Concise arrow function:
function keyword, or as an arrow function. See the code example for the difference between a named function and an anonymous function.