Bora botar a mão na massa? Vamos ver o hoisting ao vivo, literalmente, passo-a-passo.

1)

    function fofoca (idade=0) {
      if (idade > 18) {
        var nome = "Felipe";
        console.log(`Uma fofoca sobre ${nome}`);
      } else {
        console.log("Não posso opinar");
      }
    }

2)

    function fofoca (idade=0) {
      debugger;
      if (idade > 18) {
        var nome = "Felipe";
        console.log(`Uma fofoca sobre ${nome}`);
      } else {
        console.log("Não posso opinar");
      }
    }

3)

    console.log(qualÉMeuNome());

    function qualÉMeuNome () {
      return "Felipe";
    };

4)

    debugger;
    console.log(qualÉMeuNome());

    function qualÉMeuNome () {
      return "Felipe";
    };

Autor(a)

Jaydson Gomes
87  Posts
Jaydson Gomes trabalha com tecnologia desde o início dos anos 2000 e é​ desenvolvedor de software especializado em JavaScript.
​É sócio fundador da Nasc e da ​BrazilJS e curador/idealizador da ​BrazilJS Conf, uma das maiores conferências do mundo sobre a linguagem JavaScript.
É editor da Newsletter BrazilJS Weekly e host do show BrazilJS Weekly no YouTube.
Jaydson também é autor e editor no portal BrazilJS e escreve em seu blog pessoal.
É um entusiasta open source e tem apresentado diversas palestras ao longo dos últimos anos, em sua grande maioria falando sobre JavaScript e tecnologias Web.