Ako skontrolovať typ funkcie v JavaScript

V úlohách nižšie budete musieť určiť, či je funkcia definovaná ako Function Declaration alebo Function Expression.

V jednoduchých prípadoch to nie je ťažké urobiť vizuálne. Ale ako skontrolovať, že ste to urobili správne? Využite rozdiel medzi Function Declaration a Function Expression: prvé môžu byť volané vyššie ako ich definícia, a druhé - nie.

Majme takúto funkciu:

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

Pristúpme k tejto funkcii pred jej definíciou:

javascripttest(); // vypíše chybu do konzoly, znamená Function Expression

let test = function() {
  console.log('!');
}

Tu je ďalší príklad:

javascriptfunc(); // vypíše '!', znamená Function Declaration

function func() {
  console.log('!');
}

Dajme pred našu funkciu plusík:

javascriptfunc(); // vypíše chybu do konzoly, znamená Function Expression

+function func() {
  console.log('!');
}

Keďže funkcia vyššie je Function Expression a nie je priradená žiadnej premennej, tak ju nemožno nijako volať, pretože pod menom func bude nedostupná.

Задание 1

Určte, či je reprezentovaná funkcia Function Declaration alebo Function Expression:

javascriptlet test = function func() {
  console.log('!');
}
Задание 2

Určte, či je reprezentovaná funkcia Function Declaration alebo Function Expression:

javascriptconsole.log(
  function func() {
    console.log('!');
  }
);
Задание 3

Určte, či je reprezentovaná funkcia Function Declaration alebo Function Expression:

javascript+function func() {
  console.log('!');
}
Задание 4

Určte, či je reprezentovaná funkcia Function Declaration alebo Function Expression:

javascriptfunction func() {
  console.log('!');
}