Výraz na ľavej strane funkcie v JavaScripte

Pozrime sa na nasledujúci kód:

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

Ako už viete, táto funkcia je funkčným výrazom, napriek tomu, že má zadané meno (už sme zistili, že prítomnosť mena vôbec nie je kritériom). Odstránme toto plus - a dostaneme Function Declaration:

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

Dajme + na riadok pred funkciou - opäť sa stane Function Expression:

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

A teraz za plus vložme číslo 1 a bodkočiarku - naša funkcia sa stane Function Declaration:

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

Prečo je to tak: pretože na prvom riadku je napísaný jeden ukončený príkaz, uzavretý bodkočiarkou. Preto tento príkaz nijako neovplyvňuje našu funkciu.

V skutočnosti je možné bodkočiarku odstrániť, veď v JavaScripte nie je povinná - funkcia aj tak zostane Function Declaration:

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

Ale ak za 1 pridáme ešte jedno plus, funkcia sa stane Function Expression:

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

Prečo je to tak: pretože na prvom riadku je neukončený výraz - je tam plus a po ňom nič. Preto interpret JavaScriptu usudzuje, že toto plus patrí k riadku nižšie, teda k našej funkcii.

Ak je na prvom riadku ukončený výraz, JavaScript automaticky vloží pred neho bodkočiarku a tento výraz nijako neovplyvňuje našu funkciu.

Задание 1

Určite, či je predložená funkcia Function Declaration alebo Function Expression:

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

Určite, či je predložená funkcia Function Declaration alebo Function Expression:

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

Určite, či je predložená funkcia Function Declaration alebo Function Expression:

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

Určite, či je predložená funkcia Function Declaration alebo Function Expression:

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

Určite, či je predložená funkcia Function Declaration alebo Function Expression:

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