Boolean values are converted to numbers before comparisons are made with the equal operator (
==) and not equal operator (
Comparisons where one operand is a string and the other is a number converts the string to a number first.
If one of the operands is an object and not the other then the object is evaluated with the
valueOf() function first.
undefined are equal and can’t be converted to other values.
NaN is considered
var x = (NaN == NaN); //false because NaN is not equal to NaN by rule var x = (true == 2); //false because true is converted to 1 first
if both operands are objects, the equal operator returns true if they both point to the same object.
Identically equal (
===) and identically not equal (
!--) don’t convert values before the comparison. Values that are not the same type will not be equal.
var x = ("2" == 2); //true "2" is converted to 2 var x = ("2" === 2); //false "2" is not converted and a string is not equal to a number var x = (null == undefined); //true var x = (null === undefined); //false
var x = 10; x += 10; // 20, same as x = x + 10;
The comma allows more than one assignment in a single statement.
var x=1, y=2, z=3;