40歳代から始めるJavaScriptの学習記録の第2回です。今回はドットインストールのJavaScript編、7回から10回。前回と同じくMSX-BASICと比較しながら勉強してみます。
(参考)40代からのJavaScript 入門1:MSX BASICと比べてドットインストールで学習#1-#6
まだ序盤ですがやっぱり手を動かすって言うのは大事ですね。動画見ていてわかった気になりますが、実際に入力してみると全然理解が違います。ただ同じもの入力してるだけなんですけどねぇ不思議なものです。
ドットインストールは早口という感想を持つ方も多いと思います。でも繰り返せるから問題無しですね。一般の講座ってゆっくり話すから、最初はよくても聞き直す時は1.5倍速とかで聞きたくなるんですよね。繰り返し前提の講座なんですね。
最初のつまづき・・・真偽値 true & false !
#07 真偽値と三項演算子を使おう
真偽値・・・これまでと違って難しく感じるなぁ・・・MSX-BASICでも真偽値とかあったのかもしれないけど全く意識してなかったな。
動画は3分だけど、結局1時間近く掛かってしまった。一旦スルーしても良かったのかもしれませんけどね。
でも真偽値っていうのはこの後につづく条件・繰り返し系の命令を使うには理解しておきたい概念なんですね。(以下つまづいた点をメモ、やってない人は飛ばして結構です)
『下の2つは同じ意味になります』という事だけど驚くほど理解できなかった(笑)
if (x) { //処理 }
if (x !=="") { //処理 }
全く頭に入ってこないので15分くらい仮眠を取ってから再チャレンジ!
え〜っと、まずは『!==』 というのは等しく無いって意味の比較演算子だったのね。コメントだと思ってしまった(笑)コメントは『//処理』のほうだったね。
前回やったばっかりなのに全然頭入ってないよ。解ったつもりになってても全く理解できてないのがよくわかるね、あはは。
つまり
- if (x !=="") { //処理 } というのは・・・
『もしxが""(空文字)と等しく無い !==(空文字ではない)なら次の処理をしろ』って意味か。
このif (x !=="") { //処理 }が、if (x) { //処理 }と同じ意味になるってことは・・・。
つまり真偽値の規則で『文字列は空文字以外だったらtrue(真)』なので、
- if(x) { //処理 }というのは・・・
『もしxが空文字以外(true/真)なら次の処理をしろ、空文字(false/偽)ならelse以降の処理をしろって事だね。
今回はxにはまだ何も代入していないのだから空、だから、false(偽)だって事かな。間違ってたら恥ずかしいけど(笑)
真とか偽ってのは慣れないとこんがらがってくるなぁ。
後半の3項演算子は・・・・いいや(笑)難しすぎるので、今回はスルーで。そういうのがあるんだなぁ〜位にして次にいきます。
これは便利そう!switch文
#08 switch文を使ってみよう
おお、これは便利そうな命令だ!MSX-BASICには無かったよね。複数の条件分岐がある場合は、if文を使うよりシンプルに記述する事ができそう。
switch()〜条件 case:〜分岐 break;〜完了こんな感じで覚えておけば良いね。
case:にない場合はdefault:で分岐設定させる事ができる、と。
真偽値に比べてカンタンな回でホッとした。
whileってなんだよ・・・for文となにが違うの?
#09 while、do ... whileを使ってみよう
while文はloop命令だそうです。loop命令と言えばMSXではGOTOやFOR~NEXTを使った覚えがありますね。while文ってのは無かった気がするな。
for文は次項に出てくるし、GOTOとも違う感じ。どう違うんだろ・・・。
そもそもwhileってどんな意味だっけな、この場合は比較・対照するって意味かな?
なんかピンと来ないけど、そもそもwhileって単語はつかみ所がなくて覚えにくかったなぁ・・・英検3級レベルか・・・う〜む。文系のくせに英語が苦手というのも困ったものですが。
つまりこういう意味かな?違ってたら恥ずかしいけど。
while ( 条件 ) { //処理 } とは・・・
()内の条件が満たされる(真)うちは{}内の処理を繰り返せ、という意味
だったらwhileよりloopって書いてもらった方が解りやすい気がするけど、きっと事情があるんでしょうね・・・。英語圏の人には自然なのかな?
do ... while文は最初は意味がよくわからなかったけど、whileが理解できたらすぐわかりました。単に処理を先におこなった後に条件を比較するってことですね。たしかにこうする必要性はありそうです。
switch文ほど解りやすくは無いけど・・・大丈夫です、まだ理解できます。でもfor文とどうちがうんだろ。次回が楽しみです。
やっと知ってるの出て来た・・・と思ったら
#10 for文を使ってみよう
やっとMSX-BASICでも使った事のあるループ命令FOR〜NEXT文が来た〜と思ったら、あれれ・・・なんか思ったのと違う!
MSXではセットになっていた後ろのNEXTがないじゃないですか!それにFORの書き方も違うし・・・まあMSX-BASICもうろ覚えなんですけど。
for ( 初期値 ; 条件 ; 増加単位 ) { //処理}
でも書き方が違うだけで、やってる事は同じかな?ぱっと見はわかりにくいけど、シンプルに書けるので見やすいかも。
おお、でも結局while文との違いがわからなかったぞ!for文の方がシンプルに記述できるという程度で・・・。まあ、2つあるってことは使いどころが違うんでしょうかね。そのうちわかるんでしょう。
ループを抜けたり、スキップするときは、ループ内にif文でbreakやcontinue命令を入れてやれば良いという事か。これもwhile文と共通なのね。
ちょっともやっとしますが・・・まあ理解はできました(笑)
(続き)『40代からのJavaScript 入門3:関数に一喜一憂 ドットインストールで学習#11-#14』
他の『JavaScript学習記録』の記事を読む
『アニメ』『スピーカー』『オーディオ・ビデオ』『備忘録・Mac・その他』『生活』
roopではなく、loopです。
返信削除ご指摘助かります!修正いたしました。
削除