If the values are equal, true is returned from the equal operator (==).
If the values are not equal, false is returned from the operation.
True is converted to the number 1, and false is converted to zero before being compared.
If either of the operands is NaN, the equality operator returns false.
Null and undefined are equal.
Null and undefined are not equal to 0 (zero), "" , or false.
If a string and a number are compared, attempt to convert the string to a number and then check for equality.
If an object and a string are compared, attempt to convert the object to a string and then check for equality.
If an object and a number are compared, attempt to convert the object to a number and then check for equality.
If both operands of an equality operation are objects, the address of the two objects are check for equality.
By setting the LANGUAGE attribute of the