Kako preveriti tip funkcije v JavaScript

V spodnjih nalogah boste morali določiti, ali je funkcija definirana kot Function Declaration ali Function Expression.

V preprostih primerih to ni težko narediti vizualno. Toda kako preveriti, ali ste to naredili pravilno? Uporabite razliko med Function Declaration in Function Expression: prve je mogoče poklicati pred njihovo definicijo, druge pa ne.

Recimo, da imamo takšno funkcijo:

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

Obrnimo se na to funkcijo pred njeno definicijo:

javascripttest(); // bo izpisalo napako v konzolo, kar pomeni Function Expression

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

Tu je še en primer:

javascriptfunc(); // bo izpisalo '!', kar pomeni Function Declaration

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

Dodajmo plus pred našo funkcijo:

javascriptfunc(); // bo izpisalo napako v konzolo, kar pomeni Function Expression

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

Ker je zgornja funkcija Function Expression in ni prirejena nobeni spremenljivki, je je ni mogoče na noben način poklicati, saj po imenu func ne bo dostopna.

Задание 1

Določite, ali je predstavljena funkcija Function Declaration ali Function Expression:

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

Določite, ali je predstavljena funkcija Function Declaration ali Function Expression:

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

Določite, ali je predstavljena funkcija Function Declaration ali Function Expression:

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

Določite, ali je predstavljena funkcija Function Declaration ali Function Expression:

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