The precise comparisons made using these operators varies
between versions of JavaScript. In both JavaScript 1.3 and JavaScript
1.1 or earlier, these comparison operators perform a "type conversion"
if necessary. In other words, if one operand is a string value and the
other is a numeric value, JavaScript attempts to convert the string to
numeric before performing the comparison (for instance, the string "5"
would convert to the number 5).
In contrast, JavaScript 1.2 does not perform type
conversion, and so if the two operands are of different types they cannot
be legitimately compared. Finally, JavaScript 1.3+ also adds "strict
equality" operators, === and !== (note the double equal signs). With
a strict equality operator, the comparison will only yield a result if
the two operands are of the same type.