Како провјерити тип функције у JavaScript-у

У задацима испод треба да одредите да ли је функција дефинисана као Function Declaration или Function Expression.

У једноставним случајевима то није тешко учинити визуелно. Али како провјерити да ли сте то урадили исправно? Користите разлику између Function Declaration или Function Expression: прве могу бити позване изнад своје дефиниције, а друге - не могу.

Рецимо да имамо овакву функцију:

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

Позовимо ову функцију прије њене дефиниције:

javascripttest(); // ће приказати грешку у конзоли, значи Function Expression

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

Ево још једног примјера:

javascriptfunc(); // ће приказати '!', значи Function Declaration

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

Ставимо плус испред наше функције:

javascriptfunc(); // ће приказати грешку у конзоли, значи Function Expression

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

Пошто је горе наведена функција - Function Expression и није додијељена ниједној променљивој, онда је немогуће позвати је, јер по имену func она неће бити доступна.

Задание 1

Одредите да ли је представљена функција Function Declaration или Function Expression:

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

Одредите да ли је представљена функција Function Declaration или Function Expression:

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

Одредите да ли је представљена функција Function Declaration или Function Expression:

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

Одредите да ли је представљена функција Function Declaration или Function Expression:

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