First 3>2 evaluates to TRUE, which is probably implicitly converted to 1, so you end up with 1>1, which is FALSE.
You might want an error here, but Javascript is very weakly typed, so it will try to do implicit conversions, without complaining.
EDIT:
So you're asking why the programming language syntax does not always coincide with the mathematical notation? I would say (1) they have different priorities and (2) it makes more sense for the compiler to do it another way.
This is not uncommon though:
- "x = 3" (statement) and
x = 3 (assignment)
- "x >> 1" (much more than 1) and
x >> 1 (bitshift)
- "a | b" (a divides b) and
a | b (bitwise OR).
The list goes on...