Operators
Arithmetic
Binary operators
+ Addition - Subtraction * Multiplication / Division (returns a floating-point value) % Modulus (returns the integer remainder)
Unary operators
- Unary negation (reverses the sign) ++ Increment (can be prefix or postfix) -- Decrement (can be prefix or postfix)
Assignment
= Assign += Add and assign -= Subtract and assign *= Multiply and assign /= Divide and assign %= Modulus and assign &= Bitwise AND and assign |= Bitwise OR and assign ^= Bitwise XOR and assign <<= Left shift (zero fill) and assign >>= Right shift (sign-propogating) and assign >>>= Right shift (zero fill) and assign
Comparison
== Equal != Not equal > Greater than >= Greather than or equal to < Less than <= Less than or equal to === Identical (equal and of the same type) (strict equality) !== Not identical
Conditional
? : Ternary comparison operator
condition ? val1 : val2 (Evaluates val1 if condition is true; otherwise, evaluates val2)
Logical
- Short-circuit logical operations
- Evaluates the minimal number of expressions necessary
- Partial evaluation (rather than full evaluation)
&& and || or ! not (logical negation)
!!expr Converts an expression to the equivalent boolean value (same as Boolean(expr))
Bitwise
Binary operators
& And
| Or
^ Xor
<< Shift left (zero fill)
>> Shift right (sign-propogating); copies of the leftmost bit (sign bit) are shifted in from the left.
>>> Shift right (zero fill)
For positive numbers, >> and >>> yield the same result.
Unary operators
~ Not (inverts the bits)
String
= Assignment + Concatenation += Concatenate and assign
Examples
str = "ab" + "cd"; // "abcd" str += "e"; // "abcde"
Misc
typeof
typeof operand typeof (operand)
- Results in one of the following values: "function", "number", "boolean", "string", "object", "undefined"
Resources URL:
notes/javascript/resources
Sources URL:
notes/javascript/sources