はじめまして。いつも分かりやすいレッスンをありがとうございます。
条件式 ? 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 の補完機能で、命令終わりに ; がなくても ; を補完してくれる機能が働いているため、正常に動作しているように見えている、ということで良いのでしょうか。
よろしくお願いいたします。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?