I found the following example to be extremely confusing:
a = 10
b = 5 > a > 30
When I thought about it after seeing what it compiles to:
var a, b;
a = 10;
b = (5 > a && a > 30);
I couldn't see how that statement could be true because a cannot be less than 5 while also be greater than 30.
Range checking I would assume would be:
b = 5 < a > 30