I think JavaScript benefits from typing a lot more than Ruby does. Ruby is at least strongly typed, so doing something like `[] + {}` or `4 + {foo: "bar"}` will raise an exception instead of return you a seemingly-arbitrary value.
As far as what Ruby offers over JavaScript? It's a bit personal preference, but I prefer Ruby for several reasons:
- More stable ecosystem. There are more canonical "best" tools for the job. There's one dominant web framework, one dominant background job processor, one dominant task runner, debugger, testing framework, etc.
- More robust standard library. Enumerable rocks. And rolls.
- Better fits "OO" definitions—everything is an object in Ruby. It supports public/private/protected instance methods/variables.