Wyrażenie po lewej stronie funkcji w JavaScript

Przyjrzyjmy się następującemu kodowi:

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

Jak już wiesz, ta funkcja jest wyrażeniem funkcyjnym, pomimo tego, że ma nadaną nazwę (już ustaliliśmy, że obecność nazwy w ogóle nie jest kryterium). Usuńmy ten plus - i otrzymamy Function Declaration:

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

Postawmy + w linii przed funkcją - znów stanie się Function Expression:

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

A teraz po plusie postawmy liczbę 1 i średnik - nasza funkcja stanie się Function Declaration:

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

Dlaczego tak: ponieważ w pierwszej linii napisano jedno zakończone polecenie, zamknięte średnikiem. Dlatego to polecenie nie wpływa w żaden sposób na naszą funkcję.

Właściwie średnik można usunąć, przecież w JavaScript nie jest on obowiązkowy - funkcja i tak pozostanie Function Declaration:

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

A jeśli po 1 wstawimy jeszcze jeden plus, to funkcja stanie się Function Expression:

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

Dlaczego tak: ponieważ w pierwszej linii mamy niedokończone wyrażenie - stoi plus i po nim nic. Dlatego interpreter JavaScript uważa, że ten plus odnosi się do linii poniżej, czyli do naszej funkcji.

Jeśli zaś w pierwszej linii znajduje się zakończone wyrażenie, to JavaScript automatycznie stawia mu średnik i to wyrażenie w żaden sposób nie wpływa na naszą funkcję.

Задание 1

Określ, czy przedstawiona funkcja jest Function Declaration czy Function Expression:

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

Określ, czy przedstawiona funkcja jest Function Declaration czy Function Expression:

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

Określ, czy przedstawiona funkcja jest Function Declaration czy Function Expression:

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

Określ, czy przedstawiona funkcja jest Function Declaration czy Function Expression:

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

Określ, czy przedstawiona funkcja jest Function Declaration czy Function Expression:

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