Javascript · Conditional Statements
Quizz
The full text of this chapter, to read or revisit. To practise, do the exercises.
▶ Do the exercisesExercise 1 — Quiz: Basic if
What will this code print?
let hp = 60;
if (hp > 50) {
console.log("Strong");
}
Options
• ```Strong```
• Nothing at all
• ```true```
• ```60```
Hint : Evaluate the condition with the value 60.
Exercise 2 — Quiz: Valid Syntax
Which
if
statement is written correctly?
Options
• ```if (level > 10) { console.log("OK"); }```
• ```if level > 10 { console.log("OK"); }```
• ```if (level > 10) console.log("OK") }```
• ```if [level > 10] { console.log("OK"); }```
Hint : Compare the four options character by character: the type of brackets used, and where each one opens and closes.
Exercise 3 — Quiz: if/else Output
What will this code print?
let energy = 30;
if (energy >= 30) {
console.log("Attack");
} else {
console.log("Rest");
}
Options
• ```Attack```
• ```Rest```
• ```Attack``` then ```Rest```
• Nothing at all
Hint : Look carefully at which comparison operator is used, then test it with the exact value of the variable.
Exercise 4 — Quiz: Chain Result
What will this code print?
let level = 35;
if (level >= 50) {
console.log("Master");
} else if (level >= 30) {
console.log("Advanced");
} else if (level >= 10) {
console.log("Intermediate");
} else {
console.log("Beginner");
}
Options
• ```Advanced```
• ```Intermediate```
• ```Advanced``` and ```Intermediate```
• ```Master```
Hint : Go from the top and stop at the first true condition.
Exercise 5 — Quiz: Ternary Value
let score = 85;
let result = score >= 80 ? "win" : "lose";
Options
• ```"win"```
• ```"lose"```
• ```true```
• ```85```
Hint : Evaluate the condition first. Then recall which of the two values a ternary picks in that case.
Exercise 6 — Quiz: switch Match
What will this code print?
let type = "plant";
switch (type) {
case "fire":
console.log("Pyrochu");
break;
case "plant":
console.log("Florachu");
break;
default:
console.log("Unknown");
}
Options
• ```Florachu```
• ```Pyrochu```
• ```Unknown```
• ```Florachu``` then ```Unknown```
Hint : Compare the value of the variable with each case label, one by one.
Exercise 7 — Quiz: Falsy Condition
What will this code print?
let potionCount = 0;
if (potionCount) {
console.log("Drink a potion");
} else {
console.log("No potions left!");
}
Options
• ```No potions left!```
• ```Drink a potion```
• An error, the condition is not a boolean
• ```0```
Hint : The condition here is not a comparison, it's a plain number. Think back to the truthy and falsy chapter.
Exercise 8 — Quiz: else Rules
Which statement about
else
is true ?
Options
• It runs only when the ```if``` condition is false
• It needs its own condition in parentheses
• It can exist without an ```if``` before it
• It always runs, no matter what
Hint : Think about when the ```else``` branch ran in the examples you tried, and whether you ever wrote a condition next to it.
Exercise 9 — Quiz: Combined Condition
What will this code print?
let level = 18;
let hasStone = false;
if (level >= 15 || hasStone) {
console.log("Evolution possible");
} else {
console.log("Not yet");
}
Options
• ```Evolution possible```
• ```Not yet```
• Nothing, the condition is invalid
• ```false```
Hint : Evaluate each side of the condition separately, then apply the rule of the operator that joins them.
Exercise 10 — Quiz: Wrong Order
What will this code print?
let xp = 500;
if (xp >= 100) {
console.log("Level 2");
} else if (xp >= 300) {
console.log("Level 3");
} else if (xp >= 500) {
console.log("Level 4");
}
Options
• ```Level 2```
• ```Level 4```
• ```Level 3```
• All three levels
Hint : Test the conditions in the order they are written, and remember how many branches of a chain can run.
Exercise 11 — Quiz: Ternary Structure
In a ternary expression, what does the
:
separate?
Options
• The "true" value from the "false" value
• The condition from the "true" value
• Two independent conditions
• The variable name from its value
Hint : Picture a full ternary and locate where each of its three pieces sits relative to the ```:```.
Exercise 12 — Quiz: Fall-through
What happens in a
switch
when a matching case has no
break
?
Options
• The next cases also run, until a ```break``` is found
• The switch stops automatically after the case
• JavaScript throws an error
• Only ```default``` runs
Hint : Think back to what ```break``` is for in a switch. Then ask what happens without it.
Exercise 13 — Quiz: Two Independent ifs
What will this code print?
let hp = 100;
if (hp >= 50) {
console.log("A");
}
if (hp >= 80) {
console.log("B");
}
Options
• ```A``` then ```B```
• Only ```A```
• Only ```B```
• Nothing at all
Hint : Look at the keyword that starts the second block: is it connected to the first one or not?
Exercise 14 — Quiz: elif Doesn't Exist
How do you write the "middle" branch of a condition chain in JavaScript?
Options
• ```else if (condition) { ... }```
• ```elif (condition) { ... }```
• ```elseif (condition) { ... }```
• ```else-if (condition) { ... }```
Hint : Some of these options come from other languages. Reread how the middle branch was written in the lesson.
Exercise 15 — Quiz: Ternary Output
What will this code print?
let isShiny = false;
console.log(isShiny ? "Rare Codémon!" : "Classic Codémon");
Options
• ```Classic Codémon```
• ```Rare Codémon!```
• ```false```
• An error, a ternary can't be inside ```console.log```
Hint : A ternary produces a value, so it can live anywhere a value fits. Which side is picked when the condition is ```false``` ?
Exercise 16 — Quiz: No Match
What will this code print?
let city = "Lavaville";
switch (city) {
case "Aquacity":
console.log("Water gym");
break;
case "Floratown":
console.log("Plant gym");
break;
}
console.log("Trip over");
Options
• Only ```Trip over```
• An error, ```default``` is required
• ```Water gym```
• Nothing at all
Hint : Compare the value with every case, then notice what this switch does not have at the end. The last line sits outside the switch.
Exercise 17 — Quiz: The Sneaky Semicolon
What will this code print?
let hp = 100;
if (hp < 10); {
console.log("Danger!");
}
Options
• ```Danger!``` even though HP is 100
• Nothing, the condition is false
• A syntax error
• ```false```
Hint : Read the first line very slowly, character by character, and ask what the ```if``` actually controls.
Exercise 18 — Quiz: switch and Types
What will this code print?
let door = "1";
switch (door) {
case 1:
console.log("Number door");
break;
default:
console.log("No match");
}
Options
• ```No match```
• ```Number door```
• An error
• Nothing at all
Hint : Look closely at the type of the variable and the type of the case label. How strict is a switch when it compares?
Exercise 19 — Quiz: AND Condition
What will this code print?
let level = 22;
let badges = 2;
if (level > 20 && badges >= 3) {
console.log("Championship unlocked");
} else {
console.log("Keep training");
}
Options
• ```Keep training```
• ```Championship unlocked```
• Both messages
• Nothing at all
Hint : Check each side of the condition on its own with the given values before combining them.
Exercise 20 — Quiz: Choose Your Weapon
You need to display a different message for each HP range (0-20, 21-50, 51-100). What's the best tool?
Options
• An ```else if``` chain
• A ```switch```
• A single ternary
• Three separate variables
Hint : Ask yourself what each tool can compare: exact values only, or something more flexible?
Exercise 21 — Quiz: Nothing True
What will this code print?
let energy = 5;
if (energy >= 80) {
console.log("Mega attack");
} else if (energy >= 40) {
console.log("Normal attack");
} else if (energy >= 10) {
console.log("Small attack");
}
Options
• Nothing at all
• ```Small attack```
• An error
• ```Mega attack```
Hint : Check each condition with the value 5, then look at how the chain ends.
Exercise 22 — Quiz: Ternary to if/else
Which
if
/
else
is equivalent to
let mode = isNight ? "sleep" : "train";
?
Options
• ```let mode; if (isNight) { mode = "sleep"; } else { mode = "train"; }```
• ```let mode; if (isNight) { mode = "train"; } else { mode = "sleep"; }```
• ```let mode; if (mode) { isNight = "sleep"; } else { isNight = "train"; }```
• ```let mode = "sleep" if isNight else "train";```
Hint : Map the three parts of the ternary onto the three parts of an ```if```/```else```, in order.
Exercise 23 — Quiz: Role of default
In a
switch
,
default
plays the same role as which keyword in an
if
chain?
Options
• The final ```else```
• ```else if```
• ```if```
• ```break```
Hint : When does ```default``` run? Find the keyword in an ```if``` chain that runs at the same moment.
Exercise 24 — Quiz: Truthy String
What will this code print?
let nickname = "Zappy";
if (nickname) {
console.log("Hello " + nickname + "!");
} else {
console.log("No nickname yet");
}
Options
• ```Hello Zappy!```
• ```No nickname yet```
• An error, a string is not a condition
• ```true```
Hint : The condition is a string, not a comparison. Think back to how JavaScript treats a string in a condition.
Exercise 25 — Quiz: Full Combo
What will this code print?
let hp = 35;
let hasPotion = true;
let status = hp < 40 ? "weak" : "fine";
if (status === "weak" && hasPotion) {
console.log("Drinking potion!");
} else if (status === "weak") {
console.log("Find a healing center!");
} else {
console.log("All good!");
}
Options
• ```Drinking potion!```
• ```Find a healing center!```
• ```All good!```
• ```weak```
Hint : First resolve the ternary to know ```status```, then walk the chain from the top.
Back to the course