Разница объявлений функции

Оба способа объявления функции эквивалентны, но есть существенная разница: функции, объявленные как Function Declaration, будут доступны, даже если обратится к ним до того, как они были объявлены.

Смотрите пример:

javascript// Обращаемся к функции до ее объявления:
func(); //выведет '!'

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

А функциональные выражения создаются в момент выполнения кода и недоступны выше. Поэтому такой код выдаст ошибку:

javascriptfunc(); //ошибка, такой функции еще нет!

let func = function() {
  console.log('!');
};
Задание 1

Создайте функцию как Function Declaration. Проверьте то, что она будет доступна выше места своего объявления.

Задание 2

Создайте функцию как Function Expression. Проверьте то, что она не будет доступна выше места своего объявления.