operator is a mathematical symbol that produces a result based on one or more values (or variables or operands).
3 + 2, the
+ sign is an operator and 3 is left side operand and 2 is right side operand. The
+ operator performs the addition of two numeric values and returns a result.
- Arithmetic Operators
- Comparison Operators
- Logical Operators
- Assignment Operators
- Conditional Operators
- Ternary Operator
Arithmetic operators are used to perform mathematical operations between numeric operands.
|+||Adds two numeric operands.|
|–||Subtract right operand from left operand|
|*||Multiply two numeric operands.|
|/||Divide left operand by right operand.|
|%||Modulus operator. Returns remainder of two operands.|
|++||Increment operator. Increase operand value by one.|
|—||Decrement operator. Decrease value by one.|
Let’s understand, how arithmetic operators perform different tasks on operands.
- Addition, Subtraction, Multiplication, Division, Modulus Operations
var x = 3, y = 9; var z = x + y; //performs addition and returns 12 z = y - x; //performs subtraction and returns 6 z = x * y; //performs multiplication and returns 27 z = y / x; //performs division and returns 3 z = x % 2; //returns division remainder 1
- Post and Pre Increment/Decrement
-- operators are unary operators. It works with either left or right operand only. When used with the left operand, e.g.,
x++, it will increase the value of
x when the program control goes to the next statement.
In the same way, when it is used with the right operand, e.g.,
++x, it will increase the value of
x there only. Therefore,
x++ is called post-increment, and
++x is called pre-increment.
var x=6; x++; //post-increment, x will be 6 here and 7 in the next line ++x; //pre-increment, x will be 8 here x--; //post-decrement, x will be 8 here and 7 in the next line --x; //pre-decrement, x will be 6 here
Note : In above explanation operations are performed with respect to previous instruction.
- String Concatenation
+ operator performs concatenation operation when one of the operands is of string type.
var a = 5, b = "Hello ", c = "World!", d = 10; a + b; //returns "5Hello " b + c; //returns "Hello World!" a + d; //returns 15 b + true; //returns "Hello true" c - b; //returns NaN; - operator can only used with numbers
|==||Compares the equality of two operands without considering type.|
|===||Compares equality of two operands with type.|
|!=||Compares inequality of two operands.|
|>||Returns a boolean value true if the left-side value is greater than the right-side value; otherwise, returns false.|
|<||Returns a boolean value true if the left-side value is less than the right-side value; otherwise, returns false.|
|>=||Returns a boolean value true if the left-side value is greater than or equal to the right-side value; otherwise, returns false.|
|<=||Returns a boolean value true if the left-side value is less than or equal to the right-side value; otherwise, returns false.|
Let’s understand, how Comparison Operators perform different tasks on operands.
var a = 15, b = 20, c = "25"; var x = a; a == c; // returns true a === c; // returns false a == x; // returns true a != b; // returns true a > b; // returns false a < b; // returns true a >= b; // returns false
It checks whether two operands are non-zero or not (0, false, undefined, null or “” are considered as zero).
It returns 1 if they are non-zero; otherwise, returns 0.
It checks whether any one of the two operands is non-zero or not (0, false, undefined, null or “” is considered as zero). It returns 1 if any one of of them is non-zero; otherwise, returns 0.
It reverses the boolean result of the operand (or condition).
Let’s understand, how Logical Operators perform different tasks on operands.
var a = 5, b = 10; (a != b) && (a < b); // returns true (a > b) || (a == b); // returns false (a < b) || (a == b); // returns true !(a < b); // returns false !(a > b); // returns true
|=||Assigns right operand value to the left operand.|
|+=||Sums up left and right operand values and assigns the result to the left operand.|
|-=||Subtract right operand value from the left operand value and assigns the result to the left operand.|
|*=||Multiply left and right operand values and assigns the result to the left operand.|
|/=||Divide left operand value by right operand value and assign the result to the left operand.|
|%=||Get the modulus of left operand divide by right operand and assign resulted modulus to the left operand.|
Let’s understand, how Assignment Operators perform different tasks on operands.
var x = 5, y = 10, z = 15; x = y; //x would be 10 x += 1; //x would be 6 x -= 1; //x would be 4 x *= 5; //x would be 25 x /= 5; //x would be 1 x %= 2; //x would be 1
:? that assigns a value to a variable based on some condition. This is the short form of the if else condition.
<condition> ? <value1> : <value2>;
The ternary operator starts with conditional expression followed by the
? operator. The second part (after
? and before
:) will be executed if the condition turns out to be true. Suppose, the condition returns
false, then the third part (after : ) will be executed.
var a = 10, b = 5; var c = a > b? a : b; // value of c would be 10 var d = a > b? b : a; // value of d would be 5