Arithmetic operator
var a = 10, b = 20;// Addition operationconsole.log(30 === a + b);// Substraction operationconsole.log(-10 === a - b);// Multiplication operationconsole.log(200 === a * b);// Division operationconsole.log(0.5 === a / b);// Complementation operationconsole.log(10 === a % b);
The addition +</> operator can be used for string concatenation.
var a = 'hello', b = ' alipay';// String concatenationconsole.log('hello alipay' === a + b);
Comparison operator
var a = 10, b = 20;// Less thanconsole.log(true === (a < b));// More thanconsole.log(false === (a > b));// Less than or equal toconsole.log(true === (a <= b));// More than or equal toconsole.log(false === (a >= b));// Equal signconsole.log(false === (a == b));// Not equal signconsole.log(true === (a != b));// Equivalent signconsole.log(false === (a === b));// Not equivalent signconsole.log(true === (a !== b));
Binary logical operator
var a = 10, b = 20;// ANDconsole.log(20 === (a && b));// ORconsole.log(10 === (a || b));// NOT, negation operationconsole.log(false === !a);
Bitwise operator
var a = 10, b = 20;// Left shift operationconsole.log(80 === (a << 3));// Unsigned right shift operationconsole.log(2 === (a >> 2));// Signed right shift operationconsole.log(2 === (a >>> 2));// AND operationconsole.log(2 === (a & 3));// XOR operationconsole.log(9 === (a ^ 3));// OR operationconsole.log(11 === (a | 3));
Assignment operator
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);
Unary operator
var a = 10, b = 20;// Auto increment operationconsole.log(10 === a++);console.log(12 === ++a);// Auto decrement operationconsole.log(12 === a--);console.log(10 === --a);// Positive value operationconsole.log(10 === +a);// Negative value operationconsole.log(0-10 === -a);// Not operationconsole.log(-11 === ~a);// Negation operationconsole.log(false === !a);// Delete operationconsole.log(true === delete a.fake);// Void operationconsole.log(undefined === void a);// Typeof operationconsole.log("number" === typeof a);
Ternary operator
var a = 10, b = 20;// Conditional operatorconsole.log(20 === (a >= 10 ? a + 10 : b + 10));
Comma operator
var a = 10, b = 20;// Comma operatorconsole.log(20 === (a, b));
Operator precedence
SJS operators have the same precedence as Javascript operators.