Functions

Since ES6, there are three equivalent ways of defining functions:

Method 1: The usual way

function rectangleArea(width, height) {
  let area = width * height;
  return area;
}

Method 2: Function expressions

const rectangleArea = function(width, height) {
  let area = width * height;
  return area;
};

Using const is a convention.

Method 3: Arrow functions

const rectangleArea = (width, height) => {
  let area = width * height;
  return area;
};

Arrow functions can be refactored into single line:

const rectangleArea = (width, height) => width * height;

If there is only one parameter, parentheses are omitted:

const squareNum = num => num * num;

Array functions are oftentime used for writing quick anonymous functions. Here is an example from MDN:

const materials = [
  'Hydrogen',
  'Helium',
  'Lithium',
  'Beryllium'
];

console.log(materials.map(material => material.length));
// Expected output: Array [8, 6, 7, 9]

The meaning of => is similar to a "mapping" in mathematics.

It doesn't matter which method you choose, just make sure you recognize them since different developers use different methods.

Last updated