Conditionals and Logic
Ternary Choice
Choose a value with a conditional expression.
ternary-choice
The ternary operator chooses between two expressions and returns the selected value.
Ternary Choice
ternary_choice.js
Replay: real traced execution (multi-file project)
const count = 1;
const noun = count === 1 ? "item" : "items";
const visible = count > 0 ? "show" : "hide";
const label = count + " " + noun;
console.log("count=" + count);
console.log("visible=" + visible);
console.log("label=" + label);
const count = 0;
const noun = count === 1 ? "item" : "items";
const visible = count > 0 ? "show" : "hide";
const label = count + " " + noun;
console.log("count=" + count);
console.log("visible=" + visible);
console.log("label=" + label);
const count = 3;
const noun = count === 1 ? "item" : "items";
const visible = count > 0 ? "show" : "hide";
const label = count + " " + noun;
console.log("count=" + count);
console.log("visible=" + visible);
console.log("label=" + label);
count ← 1, noun ← item, visible ← show, label ← 1 item
1const count→ 1 = 1; //@count=0, 32const noun→ item = count→ 1 === 1 ? "item" : "items";3const visible→ show = count→ 1 > 0 ? "show" : "hide";4const label→ 1 item = count→ 1 + " " + nounitem;56console.log("count=" + count1);7console.log("visible=" + visibleshow);8console.log("label=" + label1 item);outputcount=1 visible=show label=1 item
count ← 0, noun ← items, visible ← hide, label ← 0 items
1const count→ 0 = 0;2const noun→ items = count→ 0 === 1 ? "item" : "items";3const visible→ hide = count→ 0 > 0 ? "show" : "hide";4const label→ 0 items = count→ 0 + " " + nounitems;56console.log("count=" + count0);7console.log("visible=" + visiblehide);8console.log("label=" + label0 items);outputcount=0 visible=hide label=0 items
count ← 3, noun ← items, visible ← show, label ← 3 items
1const count→ 3 = 3;2const noun→ items = count→ 3 === 1 ? "item" : "items";3const visible→ show = count→ 3 > 0 ? "show" : "hide";4const label→ 3 items = count→ 3 + " " + nounitems;56console.log("count=" + count3);7console.log("visible=" + visibleshow);8console.log("label=" + label3 items);outputcount=3 visible=show label=3 items