Javascript has been the standard language in front-end development to make websites dynamic since ever and now with NodeJs it has been gaining popularity also in back-end development, principally in the open source community. Many projects are come across are made in Javascript nowadays, be it a website written in Angular, React, Vue and other frameworks, applications that uses the power of Electron like the very famous Visual Studio Code and mobile applications that leverage Javascript capacity to be cross-platform. It appears to me that the community is trying to make Javascript an universal language in the development world.
Only in the previous paragraph I already listed at least one reason that Javascript may have become popular among developments: the capacity to be cross-platform between web and mobile. But even when cross-platform is not the goal Javascript it taking space, web servers and APIs using Express, CLIs and other use cases. Other reason I've seen a lot is performance against languages such as Java and C#.
I've been working with web development using Java for almost a year now so I can say with more knowledge that projects can become very complex in some weeks after the start of the development. At least in Java you have many classes, many controllers, many services and a pile of other classes to take care of database communication. With object oriented programming it becomes easy to organize all the business logic in a meaningful way even for someone who is not a programmer, just by taking a look at the name of the classes you can have a idea of the project goals, that's why many project design tools such as UML uses object oriented concepts to connect all the business logic and its entities.
Javascript has been improving, I've seen news that even classes are possible to use in the recent versions, but it is still not something people are using in a daily basis as far as I know. With all this complexity, the tendency of projects to lead to chaos, why Javascript has been gaining so much popularity of all languages? To be frank, Javascript looks crude to me as language, it doesn't give the safety of statically typed languages, Typescript was created because this gap is real. Why build around unsteady basis like this?
Please, don't see this post as rant towards Javascript. I've been learning NodeJS recently and also TypeScript and it is a honest doubt I have since taking all pros and cons the popularity of Javascript in all sectors of development right now the result doesn't add up for me. What do you, principally more experienced NodeJS developers, think about this?