Skip to main content

Command Palette

Search for a command to run...

JavaScript Operators: The Basics You Need to Know

Published
JavaScript Operators: The Basics You Need to Know

1. Arithmetic Operators

let a = 10, b = 3;

// Basic arithmetic
console.log(a + b);   // 13 - Addition
console.log(a - b);   // 7  - Subtraction
console.log(a * b);   // 30 - Multiplication
console.log(a / b);   // 3.333... - Division
console.log(a % b);   // 1  - Modulus (remainder)

2. Comparison Operators

let a = 5, b = "5", c = 10;

// Equality
console.log(a == b);   // true - loose equality (compares value only)
console.log(a === b);  // false - strict equality (compares value AND type)

// Inequality
console.log(a != b);   // false - loose inequality
console.log(a !== b);  // true - strict inequality

// Relational
console.log(a > c);    // false - greater than
console.log(a < c);    // true - less than
console.log(a >= 5);   // true - greater than or equal
console.log(a <= 3);   // false - less than or equal

// Special comparisons
console.log(null == undefined);  // true
console.log(null === undefined); // false
console.log(NaN == NaN);         // false (NaN is not equal to anything)
console.log(isNaN(NaN));         // true - use isNaN() to check

3. Logical Operators

let isLoggedIn = true;
let hasPermission = false;
let age = 25;

// AND (&&) - all conditions must be true
console.log(isLoggedIn && hasPermission);     // false
console.log(isLoggedIn && age > 18);          // true

// OR (||) - at least one condition must be true
console.log(isLoggedIn || hasPermission);      // true
console.log(hasPermission || age < 18);        // false

// NOT (!) - inverts the boolean value
console.log(!isLoggedIn);                      // false
console.log(!hasPermission);                    // true

// Short-circuit evaluation
let user = null;
let defaultName = "Guest";

// Returns first truthy value
let name = user || defaultName;
console.log(name);  // "Guest"

4. Assignment Operators

let x = 10;  // Basic assignment

// Compound assignment
x += 5;      // x = x + 5 -> 15
console.log(x);

x -= 3;      // x = x - 3 -> 12
console.log(x);

x *= 2;      // x = x * 2 -> 24
console.log(x);

x /= 4;      // x = x / 4 -> 6
console.log(x);

x %= 4;      // x = x % 4 -> 2
console.log(x);

x **= 3;     // x = x ** 3 -> 8 (exponentiation)
console.log(x);

// Bitwise assignment (less common)
let y = 5;   // binary: 0101
y &= 3;      // y = y & 3 -> 1 (binary: 0001)
console.log(y);

// Logical assignment (ES12)
let a = null;
a ||= 10;    // a = a || 10 -> 10 (assigns if falsy)
console.log(a);

let b = 5;
b &&= 3;     // b = b && 3 -> 3 (assigns if truthy)
console.log(b);

let c = null;
c ??= 20;    // c = c ?? 20 -> 20 (assigns if null/undefined)
console.log(c);