Izraz levo od funkcije u JavaScriptu

Pogledajmo sledeći kod:

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

Kao što već znate, ova funkcija je funkcionalni izraz, iako joj je zadato ime (već smo utvrdili da prisustvo imena uopšte nije kriterijum). Uklonimo ovaj plus - i dobićemo Function Declaration:

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

Stavimo + u prethodnom redu ispred funkcije - opet će postati Function Expression:

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

A sada posle plusa stavimo broj 1 i tačku-zarez - naša funkcija će postati Function Declaration:

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

Zašto: zato što je u prvom redu napisana jedna završena komanda, zatvorena tačkom sa zarezom. Stoga ova komanda ni na koji način ne utiče na našu funkciju.

Zapravo, tačku-zarez možemo ukloniti, jer u JavaScriptu nije obavezna - funkcija će svakako ostati Function Declaration:

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

Ako posle 1 ubacimo još jedan plus, funkcija će postati Function Expression:

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

Zašto: zato što u prvom redu stoji nezavršeni izraz - stoji plus i posle njega ništa. Stoga JavaScript interpretator računa da se ovaj plus odnosi na red ispod, odnosno na našu funkciju.

Ako u prvom redu stoji završeni izraz, onda JavaScript automatski stavlja njemu tačku-zarez i ovaj izraz ni na koji način ne utiče na našu funkciju.

Задание 1

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

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

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

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

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

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

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

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

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

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