JavaScript is too screwy to be the dominant language. It's chalk full of awkward features. I hope something better becomes the de-facto language.
What would you think of WebAssembly becoming the de-facto?
Actually using JavaScript (JS) as an assembly language seems the better route to the same goal. JS client engines can then be optimized for that standard to get speed, but older or non-optimized clients can still "run" stuff, just not as fast.
In other words, define a JS sub-language/API as the "assembly" then optimize clients to run that sub-language faster. The engines may put functions common to the sub-language in front of the internal function-lookup hashes for speed, for example. You'd then get the same results as WebAssembly but not "break" old clients: they'd just run slower than the newer/optimized clients.