I feel that most of the javascript frameworks were built to solve specific problems which evolve continuously along with core language itself keeping the language relevant in fast evolving technical world. Inclusion of many new features in es6 and es7 like destructing and spread operator have greatly increased our ease of development. Same goes for all major frameworks built over it like inclusion of async await in nodejs core, addition of many new features/components in reactjs/reactnative(still have not finished watching complete ReactConf 2017 yet ;P), complete redesign of angular 2 using typescript...
My favorite thing about js is that it is itself a good language but it is because of contributions of tons of developers like Ryan Dahl(creator of nodejs) and major companies like Microsoft,Google Facebook,Linux Foundation among others to its frameworks we now can use the language to solve many real world problems and extend the language if some problems requires new set of constructs because of its wide opensource nature.