RivoCode

JavaScript Fundamentals · Conditions · Lesson 7 of 48

Comparison and Logical Operators

Concept

Comparison and Logical Operators

===, !==, <, and > compare values. && (and), || (or), and ! (not) combine multiple conditions together.

Always prefer === and !== over == and != — the triple-equals versions compare both value and type, avoiding surprising automatic type coercion.

By the end of this lesson
  • Explain the core idea behind Comparison and Logical Operators.
  • Predict output before running a change.
  • Test one realistic and one unusual input.
  • Use the result to make the next decision.
How to study this page
  1. 1. Read one concept.
  2. 2. Change the example.
  3. 3. Run, compare, and explain.
  4. 4. Complete the challenge below.
Syntax
a === b   // strict equality
a && b    // both must be true
a || b    // at least one must be true
ExampleRunnable
let age = 19;
let hasId = true;
if (age >= 18 && hasId) {
  console.log("Entry allowed");
}
Try it Yourself »
Why === beats ==
console.log(0 == "0");   // true  (coerces types)
console.log(0 === "0");  // false (no coercion)

Good to know

|| is also commonly used for a fallback value, like let name = input || "Guest";, though ?? is safer when 0 or an empty string are valid values.

Self-check before continuing

Without looking at the example, describe what changes when you modify one input in Comparison and Logical Operators. Then reopen the editor and prove your explanation with a small test.

You are ready to continue when you can predict, test, and explain the result.

Your turn

Write a condition that checks if a number is between 1 and 100 using &&.

Loading editor…

Console

Output will appear here...