retour au cours

Fonction dans if

Regardez ce code. Quel sera le résultat de l’appel à la dernière ligne ?

let phrase = "Hello";

if (true) {
  let user = "John";

  function sayHi() {
    alert(`${phrase}, ${user}`);
  }
}

sayHi();

Le résultat est une erreur.

La fonction sayHi est déclarée à l’intérieur du if, elle ne vit donc qu’à l’intérieur. Il n’y a pas de sayHi dehors.