String comparison
This WTF is documented but a WTF none the less:
If you compare two numerical strings, they are compared as integers.
. You need to add the definition of numerical strings to get the WTF:
Numeric strings consist of optional sign, any number of digits, optional decimal part and optional exponential part. Thus +0123.45e6 is a valid numeric value. Hexadecimal notation (0xFF) is allowed too but only without sign, decimal and exponential part.
. So for example "15" == "0xF".

Comments
Personally I haven't
Personally I haven't introduced any bugs because of this in my applications but I believe someone somewhere must have experienced some serious WTFs because of this feature.
Post new comment