Funciones flecha en JavaScript

Ahora consideremos las funciones flecha, que simplifican la sintaxis de las funciones.

En el siguiente ejemplo de código, la primera está escrita como una función regular, y la segunda - la correspondiente función flecha (ambas funciones hacen lo mismo):

javascriptlet func1 = function(num1, num2) {
  let result = num1 * num2;
  return result;
}

let func2 = (num1, num2) => {
  let result = num1 * num2;
  return result;
}

Si la función tiene una sola línea de código, en las funciones flecha se puede omitir return y las llaves:

javascriptlet func1 = function(num1, num2) {
  return num1 * num2
}

let func2 = (num1, num2) => num1 * num2;

Si el parámetro de la función flecha es único - los paréntesis se pueden omitir:

javascriptlet func1 = function(num) {
  return num * num;
}

let func2 = num => num * num

Si la función no tiene parámetros en absoluto - se deben escribir paréntesis vacíos:

javascriptlet func1 = function() {
  console.log('!!!');
}

let func2 = () => console.log('!!!')