Выраз злева функцыі ў JavaScript

Давайце разгледзім наступны код:

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

Як вы ўжо ведаеце, гэтая функцыя з'яўляецца функцыянальным выразам, нягледзячы на тое, што ў ёй зададзена імя (мы ўжо высвятлілі, што наяўнасць імя наогул не крытэрый). Прыбярэм гэты плюс - і атрымаем Function Declaration:

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

Давайце паставім + на радку перад функцыяй - яна зноў стане Function Expression:

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

А цяпер пасля плюса постаім лік 1 і кропку з коскай - нашая функцыя стане Function Declaration:

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

Чаму так: таму што на першай радку напісана адна закончаная каманда, закрытая кропкай з коскай. Таму гэтая каманда ніяк не ўплывае на нашую функцыю.

На самой справе кропку з коскай можна прыбраць, бо ў JavaScript яна не абавязковая - функцыя ўсё роўна застанецца Function Declaration:

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

А вось калі пасля 1 улепіць яшчэ адзін плюс, то функцыя стане Function Expression:

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

Чаму так: таму што на першай радку незавершаны выраз - стаіць плюс і пасля яго нічога. Таму інтэрпрэтатар JavaScript лічыць, што гэты плюс адносіцца да радка ніжэй, гэта значыць да нашай функцыі.

Калі ж на першай радку стаіць завершаны выраз, то JavaScript аўтаматычна ставіць яму кропку з коскай і гэты выраз ніяк не ўплывае на нашую функцыю.

Задание 1

Вызначыце, з'яўляецца лі прадстаўленая функцыя Function Declaration ці Function Expression:

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

Вызначыце, з'яўляецца лі прадстаўленая функцыя Function Declaration ці Function Expression:

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

Вызначыце, з'яўляецца лі прадстаўленая функцыя Function Declaration ці Function Expression:

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

Вызначыце, з'яўляецца лі прадстаўленая функцыя Function Declaration ці Function Expression:

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

Вызначыце, з'яўляецца лі прадстаўленая функцыя Function Declaration ці Function Expression:

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