Foundations
Conditionals
An if statement lets JavaScript choose between branches.
if statement
An `if` statement runs one block when its condition is true and can use `else` for the other case.
Conditionals
conditionals.js
Replay: real traced execution (multi-file project)
const temperature = 72;
let status = "";
if (temperature >= 80) {
status = "warm";
} else {
status = "comfortable";
}
console.log("temperature=" + temperature);
console.log("status=" + status);
const temperature = 55;
let status = "";
if (temperature >= 80) {
status = "warm";
} else {
status = "comfortable";
}
console.log("temperature=" + temperature);
console.log("status=" + status);
const temperature = 90;
let status = "";
if (temperature >= 80) {
status = "warm";
} else {
status = "comfortable";
}
console.log("temperature=" + temperature);
console.log("status=" + status);
temperature ← 72, status ← (empty)
1const temperature→ 72 = 72; //@temperature=55, 902let status→ (empty) = "";console.log("temperature=" + temperature);
7 status = "comfortable";8}910console.log("temperature=" + temperature72);11console.log("status=" + statuscomfortable);outputtemperature=72 status=comfortable
temperature ← 55, status ← (empty)
1const temperature→ 55 = 55;2let status→ (empty) = "";console.log("temperature=" + temperature);
7 status = "comfortable";8}910console.log("temperature=" + temperature55);11console.log("status=" + statuscomfortable);outputtemperature=55 status=comfortable
temperature ← 90, status ← (empty)
1const temperature→ 90 = 90;2let status→ (empty) = "";if (temperature >= 80)
1const temperature = 90;2let status = "";34if (temperature90 >= 80) {5 status = "warm";6} else {console.log("temperature=" + temperature);
7 status = "comfortable";8}910console.log("temperature=" + temperature90);11console.log("status=" + statuswarm);outputtemperature=90 status=warm
Follow the Branch
temperaturestarts at72.statusstarts as an empty string.- JavaScript checks whether
temperature >= 80. 72is below80, so theelsebranch setsstatustocomfortable.- The program prints
temperature=72andstatus=comfortable. | temperature | check | status | | --- | --- | --- | | 55 |55 >= 80is false | comfortable | | 72 |72 >= 80is false | comfortable | | 90 |90 >= 80is true | warm |
Exercise: conditionals.js
Reproduce status=comfortable for temperature 72, then try 55 and 90 and predict the branch result.