Kako proveriti tip funkcije u JavaScript-u

U zadacima ispod ćete morati da utvrdite da li je funkcija definisana kao Function Declaration ili Function Expression.

U jednostavnim slučajevima to nije teško učiniti vizuelno. Ali kako proveriti da li ste to učinili ispravno? Iskoristite razliku između Function Declaration i Function Expression: prve mogu biti pozvane pre njihove definicije, a druge - ne mogu.

Neka imamo ovakvu funkciju:

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

Pristupimo ovoj funkciji pre njene definicije:

javascripttest(); // ispisuje grešku u konzolu, znači Function Expression

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

Evo još jednog primera:

javascriptfunc(); // ispisuje '!', znači Function Declaration

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

Stavimo plus ispred naše funkcije:

javascriptfunc(); // ispisuje grešku u konzolu, znači Function Expression

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

Pošto je gornja funkcija - Function Expression i nije dodeljena nijednoj promenljivoj, onda je nije moguće nikako pozvati, jer po imenu func neće biti dostupna.

Задание 1

Odredite da li je predstavljena funkcija Function Declaration ili Function Expression:

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

Odredite da li je predstavljena funkcija Function Declaration ili Function Expression:

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

Odredite da li je predstavljena funkcija Function Declaration ili Function Expression:

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

Odredite da li je predstavljena funkcija Function Declaration ili Function Expression:

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