Javascript · Booleans
Logical operators
The full text of this chapter, to read or revisit. To practise, do the exercises.
▶ Do the exercisesExercise 1 — The AND Operator (&&)
The logical AND operator (
&&
) checks if both conditions are true. If both are true, the result is
true
. If even one is false, the result is
false
.
Think of it like this: Your Codémon can enter a tournament only if it has enough level AND enough health points. Both conditions must be met!
let level = 25;
let hp = 80;
// Both conditions must be true
let canEnter = level >= 20 && hp >= 50;
console.log("Can enter tournament:", canEnter);
AND Truth Table
true && true
→
true
true && false
→
false
false && true
→
false
false && false
→
false
Both sides must be true to get true!
Exercise 2 — Understanding AND (&&)
What will be the result of the following expression?
let level = 15;
let hp = 100;
let result = level >= 20 && hp >= 50;
console.log(result);
Options
• ```true```
• ```false```
• ```undefined```
• Error
Hint : With the ```&&``` operator, both conditions must be true for the result to be true. Check each condition: is ```level >= 20``` true? Is ```hp >= 50``` true?
Exercise 3 — The OR Operator (||)
The logical OR operator (
||
) checks if at least one condition is true. If one or both are true, the result is
true
. Only if both are false, the result is
false
.
Think of it like this: Your Codémon can heal at the center if it has low health OR if it's poisoned. Either condition is enough!
let hp = 30;
let isPoisoned = false;
// At least one condition must be true
let needsHealing = hp < 50 || isPoisoned;
console.log("Needs healing:", needsHealing);
OR Truth Table
true || true
→
true
true || false
→
true
false || true
→
true
false || false
→
false
At least one side must be true to get true!
Exercise 4 — Understanding OR (||)
What will be the result of the following expression?
let isWaterType = false;
let isFireType = true;
let result = isWaterType || isFireType;
console.log(result);
Options
• ```true```
• ```false```
• ```undefined```
• Error
Hint : With the ```||``` operator, at least one condition must be true for the result to be true. Check: is ```isWaterType``` true OR is ```isFireType``` true?
Exercise 5 — The NOT Operator (!)
The logical NOT operator (
!
) inverts a boolean value. It turns
true
into
false
and
false
into
true
. It's like saying "the opposite of".
Think of it like this: If your Codémon is NOT sleeping, it means it's awake. We're checking for the opposite condition!
let isSleeping = false;
let isAwake = !isSleeping;
console.log("Is sleeping:", isSleeping);
console.log("Is awake:", isAwake);
// NOT inverts the value
let hasBadge = true;
console.log("Has badge:", hasBadge);
console.log("Needs badge:", !hasBadge);
// NOT inverts the value
let hasBadge = true;
console.log("Has badge:", hasBadge);
console.log("Needs badge:", !hasBadge);
Don't confuse ! with !==
!
inverts a boolean:
!true
becomes
false
!==
compares if two values are NOT equal
They're different operators with different purposes!
Exercise 6 — Complete the Logical Expression
Complete the code so that
canBattle
is
true
only if the Codémon has more than 0 HP AND is not sleeping.
let hp = 50;
let isSleeping = false;
let canBattle = hp ____ 0 ____ ____isSleeping;
console.log(canBattle);
Options: > < && || ! !!
Hint : Both conditions must be true, so use ```&&```. To check if NOT sleeping, use the ```!``` operator before the variable.
Exercise 7 — Healing Center Logic
Complete the code so that
needsHealing
is
true
if the Codémon has less than 30 HP OR is poisoned.
let hp = 25;
let isPoisoned = false;
let needsHealing = hp ____ 30 ____ isPoisoned;
console.log(needsHealing);
Options: < > <= >= && ||
Hint : At least one condition needs to be true, so use ```||```. For "less than", use the ```<``` operator.
Exercise 8 — Match Expressions with Results
Match each logical expression with its result.
Items to match
• true && true
• true && false
• false || true
• !true
• false || false
Definitions
• true
• false
• true
• false
• false
Exercise 9 — Combining Logical Operators
What will be the result of this expression?
let level = 25;
let hasPotion = true;
let isInjured = false;
let result = level >= 20 && (hasPotion || !isInjured);
console.log(result);
Options
• ```true```
• ```false```
• ```undefined```
• Error
Hint : Work through the expression step by step. First evaluate what's in parentheses: ```(hasPotion || !isInjured)```. Then check if the first condition AND the result of the parentheses are both true.
Exercise 10 — Codémon Battle Checker
Create a battle eligibility checker for your Codémon!
Your Aquachu wants to battle, but there are several conditions to check:
1. Create a variable
canBattle
that is
true
if:
- HP is greater than 20 AND
- The Codémon is NOT sleeping
2. Create a variable
isReady
that is
true
if:
- Level is at least 15 OR
- Has battle items
3. Log both variables to see the results!
Starter code
let hp = 75;
let level = 18;
let isSleeping = false;
let hasBattleItems = true;
// Create your variables here
Back to the course