はじめまして。いつも分かりやすいレッスンをありがとうございます。
条件式 ? true の処理 : false の処理
の「true
の処理」の記述の仕方について質問です。
if (score >= 80) {
console.log('Great'); //<-trueの処理
} else {
console.log('OK...'); //<-falseの処理
}
この条件を、条件演算子で書き換えようとしたとき
true
の処理と false
の処理をそのまま持ってきて
score >= 80 ? console.log('Great'); : console.log('OK...');
となるのかなと思ったのですが、ブラウザにて確認した結果、エラーになりました。
レッスン通り、true
の処理の ;
を外したら正常に動きました。
;
は命令の終わりに付けるものということなので、今回の場合、
「条件式に対して true
の処理か false
の処理を行う」までが一つの命令ということで
true
の処理には ;
不要、false
の処理の後ろに ;
必要 という認識で良いのでしょうか。
また、試しに true
の処理、false
の処理、両方共の ;
を外して
score >= 80 ? console.log('Great') : console.log('OK...')
と記述してみたところ、エラーなく動作しました。
こちらは、JavaScript の補完機能で、命令終わりに ;
がなくても ;
を補完してくれる機能が働いているため、正常に動作しているように見えている、ということで良いのでしょうか。
よろしくお願いいたします。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?