Progate > javasqript > レッスン3 > 総合演習 まで 2時間
どうも、テルです。
昨日(木曜日)は仕事が終わるの遅くて勉強できませんでした・・・
常々思います。仕事辞めて勉強したらどれだけはかどるか。
でもそれは今の自分にはリスクがありすぎてできません。
だから副業で稼ぐまでは仕事を辞めることはしません!
副業が安定してきたときに、辞めます。
それまで少しずつですが頑張ります。
さて、今日はタイトルにもあるようにjavasqriptのレッスン3
関数の網にかかってしまいました。わかりません。
一応総合演習までやりましたが、progateはヒントも答えもちゃんとあって
それを見れば大体わかる仕組みになっています。
だから総合演習までいけちゃうんですが、もしこれが本格的に自分で作ろう!
と思ってもたぶん今のままじゃだめでしょう・・・。
僕がつまづいた部分は戻り値(return)
学生の頃から応用問題がつくづく苦手。
const check = (number) => {
// numberが3の倍数かどうかを戻り値として返してください
return number%3 === 0;
};
// if文の条件式で、checkを呼び出してください
if (check(123)) {
console.log("3の倍数です");
} else {
console.log("3の倍数ではありません");
}
たとえばこんな問題があります。(これは完成形です)
if文との応用問題ですね。
これをみればすぐわかるんですが
const check = (number) => {
// numberが3の倍数かどうかを戻り値として返してください
};
// if文の条件式で、checkを呼び出してください
if (条件式) {
console.log("3の倍数です");
} else {
console.log("3の倍数ではありません");
}
この状態だとつまずきます。
なにがわからなかったかというと
- numberが3の倍数かどうかを戻り値として返す←式が思い浮かばない
- if文の条件式← < > の演算子を意識しすぎてて簡単なことに気づかない
- check(番号)←なぜ数字をいれたらここで計算されるのか
これがよくわからずずっと悩んでいました。
1番の答えは、ナンバーを3で割った時に余りが0になる数字を「かつ」で指定しているもの。つまりそれ以外は3で割り切れない余りがでるのでfalse
2番の答えは、もし「check」の中身が(番号)だった場合、3で割り切れるときは「true」割り切れないときは「false」
3番の答えは、「check」の中に「number%3 === 0」という計算が戻り値としてあるのはわかる。「check(123)」この()の中に数字をいれたらなぜ勝手に計算してくれるのか。
結局、numberという変数に123というものが入るんだなって程度にしか理解していません。
レッスン3の途中までけっこうわかっていたのにreturnはちょっとややこしかった。
この基礎をしっかり学ばないとこれから先どんどんわからなくなりそうなので
しっかり覚えておきたいと思いました。
お、夢中で書いてたら1300文字突破した!!(毎日はできないな・・・w)