THE WIDEST DISTANCE IN THIS FOURSOME
These two differ on everything in the table: dynamic against static, garbage collection against ownership, an engine compiling on the fly against native code produced ahead of time, exceptions against a Result in the function's type. The twenty years between them — 1995 and 2015 — are also twenty years of different problems: one was written to bring a page to life, the other so that there would be nothing to crash.
They share one thing, and it is not obvious: both treat safety as the language's duty rather than the programmer's. JavaScript does it by not letting you touch memory at all; Rust by not letting code compile when the owner is not visible. These are two answers to the same question, which is why WebAssembly, the target Rust compiles to, lives beside JavaScript rather than instead of it.