I'm surprised at how many of the answers here are rationalizing JavaScript's monopoly, saying that it's a fine language / it's optimized / stop complaining / etc.
That seems like the programming-language equivalent of Stockholm syndrome, i.e. "We're stuck with X, so we should justify and defend X as a coping mechanism."
The question you should consider isn't, "Is JavaScript a good language?"
The question you should consider is, "Is JavaScript's monopoly good for the web platform?"