JavaScript Operators
JavaScript Operators are symbols that have a special meaning which make JavaScript engine to perform some action on operands. For example: the addition +
symbol is an operator means to add two variables or values, while the equal-to ==
, greater-than >
or less-than <
symbols used to compare two variables or values.
There are following types of operators in JavaScript.
- Arithmetic operators
- Comparison operators
- Assignment operators
- Logical operators
- String operators
- Bitwise Operators
- Special operators
Arithmetic Operators
The Arithmetic operators are used to perform arithmetic operations, like addition
, subtraction
, multiplication
, etc.
Here's a complete list of JavaScript's arithmetic operators:
Operator Name |
Operator |
Example |
Addition |
+ |
10 + 20 = 30 |
Subtraction |
- |
20 - 10 = 10 |
Multiplication |
* |
10 * 5 = 50 |
Division |
/ |
50 / 5 = 10 |
Modulus (Remainder) |
% |
20 % 2 = 0 |
Note : The + operator can also be used to add (concatenate) strings.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> JavaScript Arithmatic Operator </title>
</head>
<body>
<script>
var x = 25;
var y = 5;
document.write(x + y); // Prints: 30
document.write("<br>");
document.write(x - y); // Prints: 20
document.write("<br>");
document.write(x * y); // Prints: 125
document.write("<br>");
document.write(x / y); // Prints: 5
document.write("<br>");
document.write(x % y); // Prints: 0
</script>
</body>
</html>
Output
JavaScript Arithmatic Operator
Comparison Operators
The comparison operators are used to compare
two values (number or string):
Operator Name |
Operator |
Example |
Equal to |
== |
10 == 20 = false |
Identical (equal and of same type) |
=== |
10 === 20 = false |
Not equal |
!= |
10 != 20 = true |
Not Identical |
!== |
20 !== 20 = false |
Greater than |
> |
20 < 10 = true |
Less than |
< |
20 > 10 = false |
Greater than or equal to |
>= |
20 >= 10 = true |
Less than or equal to |
<= |
20<=10 = false |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> JavaScript Comparison Operator </title>
</head>
<body>
<script>
var a = 25;
var b = 35;
var c = "25";
document.write(a == c); // Prints: true
document.write("<br>");
document.write(a === c); // Prints: false
document.write("<br>");
document.write(a != b); // Prints: true
document.write("<br>");
document.write(a !== c); // Prints: true
document.write("<br>");
document.write(a < b); // Prints: true
document.write("<br>");
document.write(a > b); // Prints: false
document.write("<br>");
document.write(a <= b); // Prints: true
document.write("<br>");
document.write(a >= b); // Prints: false
</script>
</bodb>
</html>
Output
JavaScript Comparison Operator
Assignment Operator
The Assignment operators '='
is used with numeric values to assign a value to a variable.There are various ways to assign a value to a variable-
Operator |
Same as.. |
Use for |
x = y |
x = y |
Assign |
x += y |
x = x + y |
Addition |
x -= y |
x = x - y |
Subtraction |
x *= y |
x = x * y |
Multiplication |
x /= y |
x = x / y |
Division |
x %= y |
x = x % y |
Modulus |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> JavaScript Assignment Operator </title>
</head>
<body>
<script>
var x; // Declaring Variable
x = 10;
document.write(x + "<br>"); // Prints: 10
x = 20;
x += 30;
document.write(x + "<br>"); // Prints: 50
x = 50;
x -= 20;
document.write(x + "<br>"); // Prints: 30
x = 5;
x *= 25;
document.write(x + "<br>"); // Prints: 125
x = 50;
x /= 10;
document.write(x + "<br>"); // Prints: 5
x = 100;
x %= 15;
document.write(x); // Prints: 10
</script>
</body>
</html>
Output
JavaScript Assignment Operator
Logical Operators
The logical operators are used to combine conditional statements
. Suppose we have two conditional statements 'x' and 'y':-
Operator Name |
Operator |
Use |
Logical AND |
&& |
True if both x and y are true |
Logical OR |
|| |
True if either x or y is true |
logical Not |
! |
True if x is not true |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> JavaScript Logical Operator </title>
</head>
<body>
<script>
var year = 2020;
// Leap years are divisible by 400 or by 4 but not 100
if((year % 400 == 0) || ((year % 100 != 0) && (year % 4 == 0))){
document.write(year + " is a leap year.");
} else{
document.write(year + " is not a leap year.");
}
</script>
</body>
</html>
Output
JavaScript Logical Operator
String Operators
There are two operators which can also used be for strings.
Operator Name |
Operator |
Use |
Concatenation |
+ |
Appends str2 to str1. |
Concatenation assignment |
+= |
Appends str2 to the str1. |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> JavaScript String Operator </title>
</head>
<body>
<script>
var str1 = "Hello";
var str2 = " JavaScript!";
document.write(str1 + str2 + "<br>"); // Outputs: Hello JavaScript!
str1 += str2;
document.write(str1); // Outputs: Hello JavaScript!
</script>
</body>
</html>
Output
JavaScript String Operator
Increment and Decrement Operators
The increment/decrement operators are used to increment/decrement a variable's value by '1'
.
Operator Name |
Operator |
Use |
Pre-increment |
++x |
Increments x by one, then returns x |
Post-increment |
x++ |
Returns x, then increments x by one |
Pre-decrement |
--x |
Decrements x by one, then returns x |
Post-decrement |
x-- |
Returns x, then decrements x by one |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> JavaScript Increment / Decrement Operator </title>
</head>
<body>
<script>
var x; // Declaring Variable
x = 20;
document.write(++x); // Prints: 21
document.write("<p>" + x + "</p>"); // Prints: 21
x = 20;
document.write(x++); // Prints: 20
document.write("<p>" + x + "</p>"); // Prints: 21
x = 20;
document.write(--x); // Prints: 19
document.write("<p>" + x + "</p>"); // Prints: 19
x = 20;
document.write(x--); // Prints: 20
document.write("<p>" + x + "</p>"); // Prints: 19
</script>
</body>
</html>
Output
JavaScript Increment / Decrement Operator
Bitwise Operators
The bitwise operators perform bitwise operations on operands.
Operator |
Operator Name |
Example |
Same as (Binary) |
Result |
Decimal |
& |
Bitwise AND |
5 & 1 |
0101 & 0001 |
0001 |
1 |
| |
Bitwise OR |
5 | 1 |
0101 | 0001 |
0101 |
5 |
~ |
Bitwise Not |
~ 5 |
~ 0101 |
1010 |
10 |
^ |
Bitwise XOR |
5 ^ 1 |
0101 ^ 0001 |
0100 |
4 |
<< |
Bitwise Left Shift |
5 << 1 |
0101 << 0001 |
1010 |
10 |
>> |
Bitwise Right Shift |
5 >> 1 |
0101 >> 0001 |
0010 |
2 |
>>> |
Bitwise Zero Right Shift |
5 >>> 1 |
0101 >>> 0001 |
0010 |
2 |
Special Operators
The following operators are known as JavaScript special operators.
Operator |
Description |
, |
It allows multiple expressions to be evaluated as single statement. |
yield |
This operator checks what is returned in a generator by the generator's iterator. |
(?:) |
Conditional Operator returns value based on the condition. It can be used in place of 'if' statement. |
in |
It checks if object has the given property. |
delete |
It deletes a property from the object. |
instanceof |
Checks if the object is an instance of given type. |
void |
It discards the expression's return value. |
typeof |
Checks the type of object. |