- Node is javascript. You may want to run the same code on client and server, and it's simpler than compiling Rust to JS.
- There may be JS libraries you want to use.
I could go on.
What would be the reason to do that?
- DOM manipulation for AJAX states so they can be reached directly from the server without needing client side JS to do anything
- Calculate discounts for products (obviously clients just POST the product they want, but the discounts should be applied on the server consistently to how they were shown to the user)
- Your code is something generic, like recursively checking for a keypath on an object, and totally useful for JS anywhere it runs.
All kinds of other reasons.
It also enabled me to move functionality freely around.
Calculating report data on the front-end, so it gets ready tomorrow and later moving it into the back-end, for performance reasons.
I think that the situation is a lot better than that site indicates.