Approach the problem from different angle!
What is this image from?
This image is fan art of Gawr Gura from Hololive EN’s 1st Gen VTuber group HoloMyth.
She is their most subscribed talent and is known for being computationally challenged.
Just a reminder that JavaScript was developed in 10 days, the same amount of time i spend fixing bugs when i just miss a “,”
The world was made in 7 days, so it should have been 3 days left to develop js
This sounds more credible than the big bang theory. I no longer believe in science
You just have to look at the problem from a different angle.
This is one of the most educational and entertaining reads on the internet, if you are into that kind of thing:
Has anyone actually read through that? Reading the first few examples and it’s just not understanding how languages work half of the time:
!!"false" == !!"true"; // -> true
!!"false" === !!"true"; // -> true
Wow, no shit, non-empty string coerces to true, who would’ve guessed! Did you know that !!"bullshit" === !!"true"
as well? Mind=blown.
NaN === NaN; // -> false
Again, no shit, that’s in the NaN specification and the page even mentions it, so why even include it?
Also, a huge proportion of the list is just not understanding IEEE floats behaviour and blaming the language for it. Exactly like this post is doing. All those weird number things js does is because it only uses floats for everything and every language that uses floats will behave the exact same way.
Which is why I’m of the opinion that dynamically typed languages are evil. !!“false” should either be caught at compile time or raise an exception.
I’m thoroughly convinced that the only use of dynamically typed languages is to introduce bugs
Dynamically typed doesn’t imply it’s monotyped. And monotyped languages can work just fine, you just have to not hide different operations under the same symbols just differing by type like JS does.
The entire problem with JS is that it both is monotyped and it isn’t.
Why? IMO that’s perfectly valid. The various type coercions are sometimes crazy, but IMO the rule that non-empty string is coerced to true
and empty string to false
is very simple to follow. The snippet is not even a gotcha, I don’t see anything worth failing over. Putting “true” or “false” in a string doesn’t change that.