Всё что хоть сколько-нибудь сложное в жс это баззворд, не более. Язык убогий по дизайну, вся разработка сводится к использованию бесконечного множества сторонних либ и никому эти вещи не нужны, разве только разработчикам этих либ и в огромных командах.
Так просто сложилась история, язык-заложник обратной совместимости, тем не менее задачи бизнеса решает, да и зачастую он малую роль выполняет, надо больше уметь вывозить знанием устройства движка, сторонних модулей и конечно же транспиляторов.