
6. Operators
6.1 Operators
| Operator | Syntax | Support | Remark |
|---|---|---|---|
| Arithmetic Operators | x ++ | Yes | |
| ++ x | Yes | ||
| + x | Yes | ||
| x -- | Yes | ||
| -- x | Yes | ||
| - x | Yes | ||
| x + y | Yes | ||
| x - y | Yes | ||
| x * y | Yes | ||
| x / y | Yes | Expressions like the one below are misinterpreted, causing a SyntaxError (assuming '/' as the beginning character for regular expressions) x = {} / 3; x = function f() {} / 3; |
|
| x % y | Yes | ||
| Comparison Operators | x == y | Yes | |
| x != y | Yes | ||
| x === y | Yes | ||
| x !== y | Yes | ||
| x > y | Yes | ||
| x >= y | Yes | ||
| x < y | Yes | ||
| x <= y | Yes | ||
| Bitwise Operators | x & y | Yes | |
| x | y | Yes | ||
| x ^ y | Yes | ||
| ~ x | Yes | ||
| x << y | Yes | ||
| x >> y | Yes | ||
| x >>> y | Yes | ||
| Logical Operators | expr1 && expr2 | Yes | |
| expr1 || expr2 | Yes | ||
| ! expr | Yes | ||
| Assignment Operators | x = y | Yes | |
| x += y | Yes | ||
| x -= y | Yes | ||
| x *= y | Yes | ||
| x /= y | Yes | ||
| x %= y | Yes | ||
| x <<= y | Yes | ||
| x >>= y | Yes | ||
| x >>>= y | Yes | ||
| x &= y | Yes | ||
| x ^= y | Yes | ||
| x |= y | Yes | ||
| String Operators | string + string | Yes | |
| string += string | Yes | ||
| Conditional Operator | condition ? expr1 : expr2 | Yes | |
| Comma Operator | expr1, expr2 | Yes | |
| delete Operators | delete objectName | Yes | |
| delete objectName. property | Yes | ||
| delete objectName[index] | Yes | ||
| delete property | Yes | ||
| new Operator | objectName = new objectType ( param1 [, param2] ...[, paramN]) | Yes | |
| typeof Operators | typeof operand | Yes | |
| typeof (operand) | Yes | ||
| void Operators | void (expression) | Yes | |
| void expression | Yes | ||
| instanceof Operator | objectName instanceof objectType | Yes | |
| in Operator | propNameOrNumber in objectName | Yes | |
| this keyword | this[. propertyName] | Yes | |
| Others | [ ] | Yes | |
| ( ) | Yes | ||
| . | Yes |

