On this page
Operator
Basic operators
Sample code:
js
var a = 10,
b = 20;
// Addition
console.log(30 === a + b);
// Subtraction
console.log(-10 === a - b);
// Multiplication
console.log(200 === a * b);
// Division
console.log(0.5 === a / b);
// Complementation
console.log(10 === a % b);Addition + can also be used to concatenate strings.
js
var a = ".w",
b = "xs";
// String concatenation
console.log(".wxs" === a + b);Unary operators
Sample code:
js
var a = 10,
b = 20;
// Auto increment
console.log(10 === a++);
console.log(12 === ++a);
// Auto decrement
console.log(12 === a--);
console.log(10 === --a);
// Positive value
console.log(10 === +a);
// Negative value
console.log(0 - 10 === -a);
// Not
console.log(-11 === ~a);
// Negate
console.log(false === !a);
// Delete
console.log(true === delete a.fake);
// Void
console.log(undefined === void a);
// Typeof
console.log("number" === typeof a);Bitwise operators**
Sample code:
js
var a = 10,
b = 20;
// Left shift
console.log(80 === a << 3);
// Unsigned right shift
console.log(2 === a >> 2);
// Signed right shift
console.log(2 === a >>> 2);
// AND
console.log(2 === (a & 3));
// XOR
console.log(9 === (a ^ 3));
// OR
console.log(11 === (a | 3));Comparison operators**
Sample code:
js
var a = 10,
b = 20;
// Less than
console.log(true === a < b);
// Greater than
console.log(false === a > b);
// Less than or equal to
console.log(true === a <= b);
// Greater than or equal to
console.log(false === a >= b);Equality operator**
Sample code:
js
var a = 10,
b = 20;
// Equal sign
console.log(false === (a == b));
// Not equal sign
console.log(true === (a != b));
// Equivalent sign
console.log(false === (a === b));
// Not equivalent sign
console.log(true === (a !== b));assignment operator**
Sample code:
js
var a = 10;
a = 10;
a *= 10;
console.log(100 === a);
a = 10;
a /= 5;
console.log(2 === a);
a = 10;
a %= 7;
console.log(3 === a);
a = 10;
a += 5;
console.log(15 === a);
a = 10;
a -= 11;
console.log(-1 === a);
a = 10;
a <<= 10;
console.log(10240 === a);
a = 10;
a >>= 2;
console.log(2 === a);
a = 10;
a >>>= 2;
console.log(2 === a);
a = 10;
a &= 3;
console.log(2 === a);
a = 10;
a ^= 3;
console.log(9 === a);
a = 10;
a |= 3;
console.log(11 === a);binary logical operator**
Sample code:
js
var a = 10,
b = 20;
// Logical AND
console.log(20 === (a && b));
// Logical OR
console.log(10 === (a || b));other operators**
Sample code:
js
var a = 10,
b = 20;
//Conditional operator
console.log(20 === (a >= 10 ? a + 10 : b + 10));
//Comma operator
console.log(20 === (a, b));Operator precedence
| Priority | Operator | Description | Associativity |
|---|---|---|---|
| 20 | ( ... ) | parentheses | n/a |
| 19 | ... . ... | member access | From left to right |
| 19 | ... [ ... ] | member access | From left to right |
| 19 | ... ( ... ) | function call | From left to right |
| 17 | ... ++ | post-increment | n/a |
| 17 | ... -- | post-decrement | n/a |
| 16 | ! ... | logical not | From right to left |
| 16 | ~ ... | bitwise not | From right to left |
| 16 | + ... | unary addition | From right to left |
| 16 | - ... | unary subtraction | From right to left |
| 16 | ++ ... | pre-increment | From right to left |
| 16 | -- ... | pre-decrement | From right to left |
| 16 | typeof ... | typeof | From right to left |
| 16 | void ... | void | From right to left |
| 16 | delete ... | delete | From right to left |
| 14 | ... * ... | multiplication | From left to right |
| 14 | ... / ... | division | From left to right |
| 14 | ... % ... | modulo | From left to right |
| 13 | ... + ... | addition | From left to right |
| 13 | ... - ... | Subtraction | From left to right |
| 12 | ... << ... | Bitwise left shift | From left to right |
| 12 | ... >> ... | Bitwise right shift | From left to right |
| 12 | ... < ... | Unsigned right shift | From left to right |
| 11 | ... >>> ... | Less than | From left to right |
| 11 | ... <= ... | Less than or equal to | From left to right |
| 11 | ... > ... | Greater than | From left to right |
| 11 | ... >= ... | Greater than or equal to | From left to right |
| 10 | ... == ... | Equal to | From left to right |
| 10 | ... != ... | Not equal to | From left to right |
| 10 | ... === ... | Exactly equal to | From left to right |
| 10 | ... !== ... | Not exactly equal to | From left to right |
| 9 | ... & ... | Bitwise AND | From left to right |
| 8 | .. ^ ... | Bitwise XOR | From left to right |
| 7 | ... | ... | Bitwise OR | From left to right |
| 6 | ... && ... | logical and | From left to right |
| 5 | ... || ... | logical or | From left to right |
| 4 | ... ? ... : ... | Conditional operator | From right to left |
| 3 | ... = ... | Assignment | From right to left |
| 3 | ... += ... | Assignment | From right to left |
| 3 | ... -= ... | Assignment | From right to left |
| 3 | ... *= ... | Assignment | From right to left |
| 3 | ... /= ... | Assignment | From right to left |
| 3 | ... %= ... | Assignment | From right to left |
| 3 | ... <<= ... | Assignment | From right to left |
| 3 | ... >>= ... | Assignment | From right to left |
| 3 | ... >>>= ... | Assignment | From right to left |
| 3 | ... &= ... | Assignment | From right to left |
| 3 | ... ^= ... | Assignment | From right to left |
| 3 | ... |= ... | Assignment | From right to left |
| 0 | ... , ... | Comma | From left to right |