Olá, Gabriel! Tudo bem?
Esse erro acontece porque você está executando o arquivo script.js
diretamente com o Node.js (pelo terminal do VS Code). No ambiente do Node não existe document
, window
ou qualquer objeto do DOM — eles só existem quando o JavaScript é executado dentro de um navegador.
É por isso que, quando você coloca o código dentro do index.html
e abre no navegador, funciona normalmente.
Não execute o JS pelo terminal com node script.js
, porque esse código depende do DOM.
Certifique-se de que o script.js
está sendo referenciado dentro do seu index.html
, por exemplo:
<script src="script.js"></script>
Depois, abra o index.html
no navegador (clicando duas vezes ou com um servidor local).
Seu código está correto para navegador, basta garantir que ele seja executado dentro do contexto do index.html
.
Espero ter ajudado e bons estudos!