JS WTF: 5 < 4 < 3
A quick fun "JS WTF?" post for you today. If you load up your JavaScript console & enter:
5 < 4 < 3
You'd be expecting to see false, right? However, you'll actually see true. WTF?
This is actually down to the way JavaScript evaluates this and operator precedence. What it sees is:
(5 < 4) < 3
Which in turn gives
false < 3
JavaScript then coerces false into an integer 0:
0 < 3
And zero is indeed less than 3, so we get true returned.
Not much learned from this one but it's quite a fun thing to show someone & then explain why. I'll be trying to do a lot of these small "fun" posts as there's a fair few areas of "WTF?" in JavaScript, as we all know.