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.

Don't miss my latest course, React in Five! This course will help you level up your React skills by covering lesser known parts of the React API. Each video is less than five minutes long, and the first four are free to watch. Get started now.

Subscribe to keep up to date with the latest content.

Join the JS Playground mailing list to be kept up to date with the latest tutorials, screencasts and more. You won't be spammed and you can unsubscribe at any time.

Headshot of Jack Franklin

Jack is JavaScript and React developer in London. He's also a keen Elm enthusiast, conference speaker and tweets far too often.