Стреласте функције у 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('!!!')