DEV Community

Abhay Singh Kathayat
Abhay Singh Kathayat

Posted on

Understanding JavaScript Operators: A Complete Guide with Examples

### Operators in JavaScript

Operators in JavaScript are special symbols used to perform operations on values and variables. These operations can involve arithmetic, assignment, comparison, logical, and other actions. Understanding operators is essential for performing basic calculations, comparisons, and controlling the flow of your code.

JavaScript supports a wide variety of operators, and they are categorized into the following types:


### 1. **Arithmetic Operators**
Arithmetic operators are used to perform mathematical calculations on numbers.

Operator Description Example
+ Addition 5 + 38
- Subtraction 5 - 32
* Multiplication 5 * 315
/ Division 5 / 31.666...
% Modulus (Remainder) 5 % 32
** Exponentiation 5 ** 225

Example:

let a = 10;
let b = 2;
console.log(a + b);  // Output: 12
console.log(a - b);  // Output: 8
console.log(a * b);  // Output: 20
console.log(a / b);  // Output: 5
console.log(a % b);  // Output: 0
console.log(a ** b); // Output: 100
Enter fullscreen mode Exit fullscreen mode

**

2. Assignment Operators**

Assignment operators are used to assign values to variables.

Operator Description Example
= Assign value x = 5
+= Add and assign x += 3x = x + 3
-= Subtract and assign x -= 2x = x - 2
*= Multiply and assign x *= 4x = x * 4
/= Divide and assign x /= 2x = x / 2
%= Modulus and assign x %= 3x = x % 3
**= Exponentiation and assign x **= 2x = x ** 2

Example:

let x = 10;
x += 5;  // x = x + 5 -> 15
x *= 2;  // x = x * 2 -> 30
console.log(x);  // Output: 30
Enter fullscreen mode Exit fullscreen mode

### 3. **Comparison Operators**
Comparison operators are used to compare values and return a Boolean (true or false) based on the condition.

Operator Description Example
== Equal to (loose) 5 == '5'true
=== Equal to (strict) 5 === '5'false
!= Not equal to (loose) 5 != '5'false
!== Not equal to (strict) 5 !== '5'true
> Greater than 5 > 3true
< Less than 5 < 3false
>= Greater than or equal 5 >= 5true
<= Less than or equal 5 <= 3false

Example:

console.log(5 == '5');  // Output: true (loose comparison)
console.log(5 === '5'); // Output: false (strict comparison)
console.log(10 > 5);    // Output: true
console.log(3 <= 2);    // Output: false
Enter fullscreen mode Exit fullscreen mode

### 4. **Logical Operators**
Logical operators are used to perform logical operations, returning Boolean values.

Operator Description Example
&& Logical AND true && falsefalse
` `
! Logical NOT !truefalse

#### Example:

let a = true;
let b = false;
console.log(a && b);  // Output: false
console.log(a || b);  // Output: true
console.log(!a);      // Output: false
Enter fullscreen mode Exit fullscreen mode

### 5. **Unary Operators**
Unary operators operate on a single operand to perform a specific action.

Operator Description Example
++ Increment x++x = x + 1
-- Decrement x--x = x - 1
typeof Type of operand typeof xnumber
void Evaluates expression without returning a value void(0)

#### Example:

let x = 10;
console.log(++x);  // Output: 11 (Pre-increment)
console.log(x--);  // Output: 11 (Post-decrement)
console.log(typeof x);  // Output: number
Enter fullscreen mode Exit fullscreen mode

### 6. **Ternary (Conditional) Operator
**The ternary operator is a shorthand for the if...else statement. It evaluates a condition and returns one of two values based on whether the condition is true or false.

Operator Description Example
condition ? expr1 : expr2 If condition is true, return expr1; otherwise, return expr2 x > 10 ? 'Greater' : 'Lesser'

*#### Example:
*

let age = 18;
let result = age >= 18 ? 'Adult' : 'Minor';
console.log(result);  // Output: Adult
Enter fullscreen mode Exit fullscreen mode

### 7. **Bitwise Operators
**Bitwise operators perform operations on binary numbers.

Operator Description Example
& AND 5 & 31
` ` OR
^ XOR 5 ^ 36
~ NOT ~5-6
<< Left shift 5 << 110
>> Right shift 5 >> 12
>>> Unsigned right shift 5 >>> 12

*#### Example:
*

let a = 5;  // Binary: 101
let b = 3;  // Binary: 011
console.log(a & b);  // Output: 1 (Binary: 001)
console.log(a | b);  // Output: 7 (Binary: 111)
console.log(a << 1); // Output: 10 (Binary: 1010)
Enter fullscreen mode Exit fullscreen mode

### 8. **Spread Operator (...)
**The spread operator allows you to unpack elements from an array or object into a new array or object.

*#### Example:
*

let arr1 = [1, 2, 3];
let arr2 = [...arr1, 4, 5];
console.log(arr2);  // Output: [1, 2, 3, 4, 5]

let obj1 = { a: 1, b: 2 };
let obj2 = { ...obj1, c: 3 };
console.log(obj2);  // Output: { a: 1, b: 2, c: 3 }
Enter fullscreen mode Exit fullscreen mode

### Conclusion

JavaScript operators are fundamental for performing calculations, comparisons, and logical operations. Whether you're manipulating values, comparing them, or controlling the flow of your program, understanding these operators is crucial for efficient coding. Use the right operators based on your task to ensure clean and readable code.

Hi, I'm Abhay Singh Kathayat!
I am a full-stack developer with expertise in both front-end and back-end technologies. I work with a variety of programming languages and frameworks to build efficient, scalable, and user-friendly applications.
Feel free to reach out to me at my business email: kaashshorts28@gmail.com.

SurveyJS custom survey software

Simplify data collection in your JS app with a fully integrated form management platform. Includes support for custom question types, skip logic, integrated CCS editor, PDF export, real-time analytics & more. Integrates with any backend system, giving you full control over your data and no user limits.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

AWS Security LIVE!

Hosted by security experts, AWS Security LIVE! showcases AWS Partners tackling real-world security challenges. Join live and get your security questions answered.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️