読者です 読者をやめる 読者になる 読者になる

JavaScriptで出てくる ! (ビックリマーク)って何!? var hoge = false って?

引き続きドッドインストールでお勉強中。次から次へとわからないことが出てきて、刺激的であります。毎日少しずつ躓いております。今日出てきて理解に苦しんだのは、5秒あてクイズに出てくる以下のやつ。

var isStarted = false
// 略
button.addEventListener(“click”, function() {
if(!isStarted) {
// 略①
} else {
// 略②
};

コンテンツ上はさらっと進むんですけど、頭の中は???でいっぱいです。

解説を聞いていると「最初は START していないので false にしておいてあげます。」ってすごい当たり前の様に先に進んだけど、なんでそうなるのかが分からない。

さらに聞いていくと「もし isStarted が false だった場合、まだ START ボタンが押されてないので何をするかというと…、ゲームが始まったばかりの処理をすれば OK ですね。」って、またまたどういうこと? 全然わからないのだ。

だって、さっきisStarted = false を初期値だって宣言したんだよね?ビックリマーク/エクスクラメーションマークって論理否定演算子って言うんだよね?

多分、if(!isStarted) って「isStarted = false」でない時、という意味ではないんですね。if(isStarted)が、もし「isStarted = true」の時っていう意味なんでしょうね、、、多分。だから、if(!isStarted)って「isStarted = true」でない時=falseの時って言うことなんでしょう、、、多分。

真偽値を判断して反転させるのが論理否定演算子であるビックリマーク/エクスクラメーションマークってことだそうなので、上に書いているので合っているのだろうな、、、多分。

if(!isStarted)は、isStarted がtrue でない時、つまりfalseの時という意味になるってことなんでしょうね。だとすると、そもそもisStartedの初期値(何もしていない時)をfalseだと宣言しているから、最初の段階で、if(!isStarted) { } 内が実行されると。で、elseはif(!isStarted)でない時ってことだから、isStartedがtrueでない時でない時、つまりtrueの時という意味になるってことなんでしょう。

すげえ回りくどい。泣

ドットインストールは言われた通りにカリキュラムを進めていけば少しずつ分かることが増えていくからとても良いです。当たり前ですけど言われた通りに書き進んでいったらちゃんと動くものも出来るから達成感もあって楽しいです。

でも、言われた通りに書いたら作れるじゃ意味ないだろうから、"何故"をちゃんと明らかにしたいと思うのだけれど、ベースの知見がなさ過ぎて"何故"を明らかにするのにとても時間がかかってしまいます。

引き続き頑張ります。