JavaScript Operators

Symbols that perform operations on values

⚡ What are Operators?

Operators are symbols that tell JavaScript to perform specific operations on values (operands). They help you calculate, compare, and manipulate data.


// Simple operator example
let result = 5 + 3; // + is the operator
console.log(result); // Output: 8
                                    

Types of Operators

Arithmetic

Math operations

5 + 3  // Addition
10 - 4 // Subtraction
📝

Assignment

Assign values to variables

let x = 10;  // Assign
x += 5;      // Add and assign
⚖️

Comparison

Compare values

5 > 3   // Greater than
10 === 10 // Equal to
🔗

Logical

Combine conditions

true && false  // AND
true || false  // OR

🔹 Arithmetic Operators

Perform mathematical calculations:

let a = 10;
let b = 3;

console.log("Addition:", a + b);       // 13
console.log("Subtraction:", a - b);    // 7
console.log("Multiplication:", a * b); // 30
console.log("Division:", a / b);       // 3.333...
console.log("Remainder:", a % b);      // 1
console.log("Exponent:", a ** 2);      // 100

Console Output:

Addition: 13
Subtraction: 7
Multiplication: 30
Division: 3.3333333333333335
Remainder: 1
Exponent: 100

🔹 Comparison Operators

Compare values and return true or false:

let age = 18;
let name = "John";

console.log("Equal:", age == 18);        // true
console.log("Strict equal:", age === 18); // true
console.log("Not equal:", age != 20);    // true
console.log("Greater than:", age > 16);  // true
console.log("Less than:", age < 21);     // true
console.log("Greater or equal:", age >= 18); // true

Console Output:

Equal: true
Strict equal: true
Not equal: true
Greater than: true
Less than: true
Greater or equal: true

🔹 Logical Operators

Combine multiple conditions:

let isAdult = true;
let hasLicense = false;
let hasInsurance = true;

// AND operator (&&) - all must be true
console.log("Can drive:", isAdult && hasLicense); // false

// OR operator (||) - at least one must be true
console.log("Has documents:", hasLicense || hasInsurance); // true

// NOT operator (!) - reverses the value
console.log("Is not adult:", !isAdult); // false

Console Output:

Can drive: false
Has documents: true
Is not adult: false

🔹 String Operators

Work with text:

let firstName = "John";
let lastName = "Doe";

// Concatenation with +
let fullName = firstName + " " + lastName;
console.log("Full name:", fullName);

// Concatenation with +=
let greeting = "Hello ";
greeting += firstName;
console.log("Greeting:", greeting);

// Template literals (modern way)
let message = `Welcome, ${firstName} ${lastName}!`;
console.log("Message:", message);

Console Output:

Full name: John Doe
Greeting: Hello John
Message: Welcome, John Doe!

🔹 Increment and Decrement

Increase or decrease values by 1:

let counter = 5;

console.log("Original:", counter);     // 5

// Pre-increment (++variable)
console.log("Pre-increment:", ++counter); // 6
console.log("After pre:", counter);    // 6

// Post-increment (variable++)
console.log("Post-increment:", counter++); // 6
console.log("After post:", counter);   // 7

// Decrement
console.log("Decrement:", --counter);  // 6

Console Output:

Original: 5
Pre-increment: 6
After pre: 6
Post-increment: 6
After post: 7
Decrement: 6

🧠 Test Your Knowledge

What does the operator === do?