Pole s anonymnými funkciami v JavaScripte

Už som spomínal, že funkcie v JavaScripte sa správajú ako reťazce alebo čísla. Konkrétne, môžeme vytvoriť pole, ktoré sa skladá z funkcií. Poďme na to:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

Poďme napríklad vypísať do konzoly obsah nultého prvku poľa:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

console.log(arr[0]); // uvidíme zdrojový kód prvej funkcie

Ako vidíte, v príklade vyššie dostávame zdrojový kód funkcie, nie jej výsledok.

Aby došlo k volaniu funkcie, je potrebné k nej dopísať okrúhle zátvorky. Keďže naša funkcia je uložená v arr[0], tak okrúhle zátvorky je potrebné napísať za hranaté, takto: arr[0](). Vyskúšajme:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

arr[0](); // vypíše '1'

Môžeme tiež prechádzať naše pole s funkciami cyklom a v tomto cykle volať každú z funkcií:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

for (let func of arr) {
  func(); // voláme naše funkcie v cykle
}
Задание 1

Vytvorte pole arr s tromi funkciami. Nech prvá vráti pomocou return číslo 1, druhá - číslo 2, tretia - číslo 3.

Задание 2

Pomocou vytvoreného poľa arr vypíšte do konzoly číslo 3, volaním príslušnej funkcie.

Задание 3

Pomocou vytvoreného poľa arr nájdite súčet výsledkov funkcií (bez cyklu).

Задание 4

Prechádzajte vytvorené pole arr cyklom a vypíšte výsledky práce všetkých funkcií do konzoly.