Fala, Marcos! Tudo bem contigo?
Desculpe a demora em dar um retorno!
O que acontece é que, quando executamos ele confere se tudo que está no código está compilando. Isso não significa que os comandos e criações que utilizou esteja errado. A grosso modo, posso utilizar um método que esteja compilando, mas posso chamar uma variável errada. Logo, o problema não é minha escrita, mas sim o que invoquei.
É a mesma coisa de escrever um texto, em algum editor de texto com correção ortográfica, de maneira que não haja sentido algum entre as palavras e o corretor não acusará nenhum erro de ortografia, mas se eu trocar "casa", por "caza", logo ele vai acusar em vermelho. Ele não vai estar "compilando" . Deu p/ entender essa analogia, Marcos?
Se eu tentar rodar um código que não esteja compilando, ele dará erro e não mostrará nada, como foi o caso do exercício usando Javascript. Isso acontece em Java, Python e muitas outras.
Experimente, retirar as aspas do último parênteses.
Veja que ele não acusará erro e vai rodar normalmente, porém não aparecerá o último alert. Está errado? Para o código não, porque ele esta entendendo que o que você colocou no parênteses foi uma variável, mesmo que não tenha criado.
Agora, já dando um spoiler para o que virá (rs), antes do primeiro alert coloque a seguinte variável
var sim = "sim";
Ficando da seguinte forma
<meta charset="UTF-8">
<script>
var sim = "sim";
alert("Isso");
alert("é");
alert("um");
alert("programa");
alert(sim);
</script>
Rode o código?
Voltou ao normal.
Agora o que você invoca no último alert é uma variável e não mais uma simples string
Espero ter ajudado, Marcos?
Um abraço e bons estudos