Стрелови функции в JavaScript

Нека сега разгледаме стреловите функции, които опростяват синтаксиса на функциите.

В следващия пример за код първо е написана обикновена функция, а втората - съответстващата ѝ стрелова функция (и двете функции правят едно и също):

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

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

Ако функцията има един ред код, то при стреловите функции може да не се пишат return и фигурни скоби:

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

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

Ако параметърът на стреловата функция е един - кръглите скоби може да не се пишат:

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

let func2 = num => num * num

Ако функцията изобщо няма параметри - трябва да се пишат празни кръгли скоби:

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

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