Qual é a diferença entre o JavaScript e o Node.js?
Você primeiro tem que definir o que é JavaScript "puro". Não posso assumir que sei o que queres dizer, mas vou tentar explicar o melhor possível as diferenças.
JavaScript "puro"
JavaScript começou como uma linguagem de programação apenas para navegadores web. No entanto a especificação da linguagem não inclui muitas das variáveis e métodos que você encontrará ao usar o JS no navegador. Por exemplo, o objeto "document" não faz parte da especificação da linguagem; é exclusivo do navegador web. O mesmo para "getElementById" e "querySelector".
I referiria a "pure JavaScript" para se referir a algo que está incluído na especificação da linguagem.
Browser JavaScript
Como mencionei anteriormente, existem algumas variáveis e métodos que são exclusivos de um ambiente de navegador. Estas são as versões mais usadas do JavaScript.
Node.JS
Node.JS é como navegadores, pois existe uma implementação única de JavaScript para o desenvolvimento do lado do servidor. Por exemplo, em comparação com navegadores web, Node.JS fornece um objeto "global", semelhante a "janela" para navegadores, que contém vários métodos e variáveis exclusivas do Node, além dos métodos padrão como parte da linguagem spec.
"Puro JavaScript" vs Browser ou Node JavaScript
Para explicar em breve, a diferença entre JS "puro" e tudo mais, o JS puro não é muito útil por si só. Você pode escrever código e fazer as coisas acontecerem, mas sem API ambiental para suportar é inútil.
Navegadores Web fornecem uma API para se comunicar com o navegador para realizar várias operações, incluindo escrever objetos no DOM, fazer solicitações HTTP, alertas, notificações, etc.
Node.JS fornece uma API para realizar várias operações do sistema como escrever no sistema de arquivos, executar comandos, comunicar-se com outros programas de alguma forma, etc.
Espero que isso responda a sua pergunta.