Depending on who you ask, right now JavaScript is either turning into a modern, reliable language, or a bloated, overly complex dependency hell. Or maybe both?
What's more, there's just so many options: Do you use React or Angular 2? Do you really need Webpack? And what's this month's recommended way of dealing with CSS?
Like you, I spent far too many hours reading about all this, and at the end I still wasn't sure. So I decided to create a survey to see what everybody else thought. It seems like I must've hit a nerve, because I got over 9000 answers in just over two weeks!
Further down in the article, the survey results are listed, though not in an easily scrape-able format. Oddly enough, the site degrades gracefully, and does not require Javascript to be enabled.
http://stateofjs.com/2016/introduction/
-- submitted from IRC
(Score: 2) by termigator on Tuesday October 11 2016, @09:51PM
I have not experienced this. If both variables of the operator are number types, you will get numerical addition. If one variable is a string, then the other is converted to string for purposes of operator evaluation.
I have never had the problem you cite. What I have had to do is explicitly stringify an operation when I want to guarantee that '+' does concatenation. For example:
x = y + z + "";
If I do not know what the current types of the variables are, like if they are provided as parameters to a reusable function, doing something like above makes sure I get string plus and not numeric plus.
Yes, the dynamic typeness of a variable can be a pain, but can also be useful. JavaScript is not the first language to behave this way.