В 
замыканиях есть задача,
в блоке if {} указана декларативная функция, которая судя по ответу не работает, но по факту это не так
let phrase = "Hello";
if (true) {
  let user = "John";
  function sayHi() {
    alert(`${phrase}, ${user}`);
  }
}
sayHi(); // будет выполнена
Почему?