JavaScript Lesson 4: Operators
JavaScript operators are similar to Python but with key differences — especially around equality. The === operator is critical to understand.
Arithmetic Operators
let a = 10, b = 3;
console.log(a + b); // 13
console.log(a - b); // 7
console.log(a * b); // 30
console.log(a / b); // 3.333...
console.log(a % b); // 1 (remainder)
console.log(a ** b); // 1000 (exponentiation)
// Increment / Decrement
let x = 5;
x++; // x = 6
x--; // x = 5
++x; // x = 6 (pre-increment)
--x; // x = 5
=== vs == (Critical Difference!)
// == checks value only (loose equality)
console.log(5 == "5"); // true (type coercion!)
console.log(0 == false); // true
console.log(null == undefined); // true
// === checks value AND type (strict equality)
console.log(5 === "5"); // false (different types!)
console.log(5 === 5); // true
console.log(0 === false); // false
// ALWAYS use === and !== in real code!
// == causes hard-to-find bugs.
Logical Operators
const age = 20;
const hasID = true;
// && (and) — both must be true
console.log(age >= 18 && hasID); // true
// || (or) — at least one true
console.log(age < 18 || hasID); // true
// ! (not) — reverses boolean
console.log(!hasID); // false
// Short-circuit evaluation
const user = null;
const name = user && user.name; // null (avoids error!)
const greeting = name || "Guest"; // "Guest"
Ternary Operator
const age = 20;
const status = age >= 18 ? "adult" : "minor";
console.log(status); // "adult"
// Equivalent to:
// if (age >= 18) { status = "adult" } else { status = "minor" }
🏋️ Practice Task
Build a grade calculator in the browser console. Create a variable score = 85. Use a series of ternary operators (or if/else) to assign a grade letter. Then use === to check if the grade is “A”. Log the result.
💡 Hint: let grade = score >= 90 ? “A” : score >= 80 ? “B” : score >= 70 ? “C” : “F”;