【週刊ドットインストール】 考える力を養うための新クラス『データで学ぶアルゴリズム』を256timesでリリース!
const answer = confirm()について、本講座で以下の言葉がありました。
const answer = confirm()
1:08 この返り値ですが、ユーザーが OK を押したら true 、キャンセルを押したら false になるので、それに応じて条件分岐をすることができます。
MDN でも以下の記載がありました。
result は、OK ( true ) とキャンセル ( false ) のどちらが選択されたかを示す真偽値です。ブラウザがページ内ダイアログを拒否している場合、 result は常に false です。
以上から、confirm()はユーザーの選択によってtrueとfalseを自動で判断すると思っています。
confirm()
true
false
その上で以下のコードの、特にif()以降について伺います。
if()
> const answer = confirm('削除しますか?'); if(answer){ console.log('削除しました'); } else { console.log('キャンセルしました'); }
このコードでは、if(answer)は「もしユーザーの選択がtrueなら」という意味になり、 一方、elseは「もしユーザーの選択がfalseなら」という意味になると思っています。 この認識が正しい場合、これらはデフォルトとして定められているのでしょうか。
if(answer)
else
なんとなく、じゃあif(answer === false)にしたらどうなるかと自分でもやってみました。
if(answer === false)
> const answer = confirm('削除しますか?'); if(answer === false){ console.log('削除しました'); } else { console.log('キャンセルしました'); }
このようなコードで実行してみたところ、 キャンセルを選択したのに、コンソールには「削除しました」と表示されました。 奇妙だけれど、コードと実行結果は矛盾してないと思います。
長くなりましたので、質問をまとめます。
confirm()とともにif()を使うとき、 if(answer === true)などど自分で記入しなくても、 if(answer)は「trueだったら」という意味になり、 elseは「falseだったら」という意味になるように初めから決まっていますか?
if(answer === true)
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
const answer = confirm()について、本講座で以下の言葉がありました。MDN でも以下の記載がありました。
以上から、
confirm()はユーザーの選択によってtrueとfalseを自動で判断すると思っています。その上で以下のコードの、特に
if()以降について伺います。このコードでは、
if(answer)は「もしユーザーの選択がtrueなら」という意味になり、一方、
elseは「もしユーザーの選択がfalseなら」という意味になると思っています。この認識が正しい場合、これらはデフォルトとして定められているのでしょうか。
なんとなく、じゃあ
if(answer === false)にしたらどうなるかと自分でもやってみました。このようなコードで実行してみたところ、
キャンセルを選択したのに、コンソールには「削除しました」と表示されました。
奇妙だけれど、コードと実行結果は矛盾してないと思います。
長くなりましたので、質問をまとめます。
confirm()とともにif()を使うとき、if(answer === true)などど自分で記入しなくても、if(answer)は「trueだったら」という意味になり、elseは「falseだったら」という意味になるように初めから決まっていますか?