It is as ubiquitous as it is legendary. Unfortunately so are its many faults, failings, and follies. If you need to run something anywhere you don’t control, it’s a default choice but for all the wrong reasons.
The years have seen it standardised in the form of ECMA, so differences between runtimes have been resolved. It’s still a language with a lot of strange behaviour, and one might almost think that it has been designed from the outset to harm the mental health of the unwary programmer or elevate the knowledgeable elite to a higher status.
The type-checking these languages offer gives the best of both worlds. There’s little reason to write raw JS in 2020. We can go even further and turn to Rust or Golang to get WASM if we so desire.