Рассматривайте это так:
Есть javascript - это язык инструмент - он одинаков для nodejs, браузеров и так же может применяться в других средах. Это просто язык с помощью которого вы взаимодействуете с предоставленными средой интерфейсами (API). Вместе с языком идут базовые типы (Number, String, Boolean, null, undefined, Date).
Есть API это некий набор классов, модулей и методов, которые предоставляются конкретной средой. У nodejs это свой набор модулей, а у браузеров свой набор классов, методов и глобальных объектов. Получается, что можно написать некий код который будет работать и на nodejs и в браузерах если код не будет затрагивать API. Например если пишите игру, то можно логику игры абстрагировать от API и написать один раз - и она будет работать и на backend и на frontend. Таким образом можно будет запустить симуляцию игры игрока на backend. Или у вас есть приложение где на сервер передаются какие то структуры данных и можно написать лишь один раз классы которые работают с ними (парсинг и тд) и использовать сразу и там и там.