In 2014~2015, I can't imagine creating a web based backend system (or even a mobile app for that matter) in anything other than JS. The costs of hiring a C++/Java/Ruby engineer are not so easy to justify. Beyond the monthly costs, it's also the amount of time it takes to create a powerful, reactive web interface.
The client side I've set by on the bench while I continued to hack with jQuery but now it's ridiculous, just about any development job now requires backbone.js or angularjs of some sort. I've yet to see React appear as often but maybe thats the beginning of another trend. Some shops I've worked with who bet their projects on Javascript Everywhere™ seems to have become more risk averse but it could be just a wishful thinking on my part.
What was so bad about Angular 2.0? I don't think I would ever deal with backbone.js because it makes Java Swing seem easy, which is practically whats happening, people trying to replicate desktop apps in a browser with an awful language not originally tasked for the job so they come up with weird freak of nature like Coffeescript.
Server side web technologies/languages change/shift in popularity really fast. As a freelancer, the best thing you can do is learn how to learn things fast. Most of the patterns translate over between languages and technologies though.
Client side work is even more wild. I remember when everything was just jQuery spaghetti. Then things moved to KO/Ember, then to Angular in around 2012, and now everyone I know seems to be moving towards React. A lot people were disenfranchised by the Angular 2.0 announcements over the past month.