Funções de Seta em JavaScript

Vamos agora considerar as funções de seta, que simplificam a sintaxe das funções.

No seguinte exemplo de código, a primeira está escrita como uma função regular, e a segunda - a correspondente função de seta (ambas as funções fazem a mesma coisa):

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

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

Se a função tem apenas uma linha de código, então nas funções de seta é possível omitir o return e as chaves:

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

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

Se a função de seta tiver apenas um parâmetro - os parênteses podem ser omitidos:

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

let func2 = num => num * num

Se a função não tiver parâmetros - é necessário escrever parênteses vazios:

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

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