JavaScript のコードで3項演算子を使って変数の初期化がされていましたが、よくわからなかったので調べた時のメモです。
前提
- JavaScript 初心者です
- 検証は Node.js v18.12.1
参考資料
忘れたら以下を見るようにする
condition ? exprIfTrue : exprIfFalse
condition
値が条件として使用される式です。
exprIfTrue
condition が真値 (true と等しいか、 true に変換できる値) と評価された場合に評価される式です。
exprIfFalse
condition が偽値 (false と等しいか、 false に変換できる値) と評価された場合に評価される式です。
検証
参考資料を見た方がいいが自分でも試した内容をメモしておく
以下のようなコードがある。
var age = 26;
var beverage = (age >= 21) ? "ビール" : "ジュース";
console.log(beverage); // "ビール"
age = 18;
beverage = (age >= 21) ? "ビール" : "ジュース";
console.log(beverage); // "ジュース"
これを実行するとこうなる
$node test.js
ビール
ジュース
以下では age
は 26 で 条件式 age >= 21
の結果が ture
なので ビール
が代入される
var age = 26;
var beverage = (age >= 21) ? "ビール" : "ジュース";
console.log(beverage); // "ビール"
以下では age
は 18 で 条件式 age >= 21
の結果が false
なので ジュース
が代入される
age = 18;
beverage = (age >= 21) ? "ビール" : "ジュース";
console.log(beverage); // "ジュース"