JavaScript Lesson 4: Operators

⚡ JavaScript CourseLesson 4 of 20 · 20% complete

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”;

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *