← いちらんへ もどる
Phase 8 ・ だい29かい ⚙️

動き・ロジック

🎯 きょうのゴール

だい6(if)・だい7(配列)・だい12(関数)でならったことを使います。

📖 まなぼう

考える部分(ロジック)を分ける

アプリの中で「いちばん大事な、考えるしくみ」のことを ロジック といいます。たとえば九九アプリなら「どの問題を出すか」「答えが合っているか」がロジックだね。

このリポジトリの九九アプリは、その出題や正誤の判定はんていを lib/kuku.ts という、画面(ボタンや色)とは切り離した場所に書いています。画面のコードと、考えるコードを分けているんだ。

分けると、こんないいことがある。考える部分だけを取り出してかんたんに確かめられるし、ほかの場所でも使い回せる。

純関数:入れたら必ず同じ答え

九九アプリのロジックは 純関数じゅんかんすう という形で書かれています。純関数は「同じものを入れたら、いつも同じ答えを返す」関数のこと。画面をいじったりせず、ただ計算するだけ。だから何回でも安心して試せる。

たとえば「答えが正しいか判定する関数」はこう書ける↓

function hantei(kotae, seikai) { // 答えと正解が同じなら true return kotae === seikai }

コンソールで、入れる数字を変えて呼んでみよう↓

console.log(hantei(6, 6)) // → true(合っている) console.log(hantei(5, 6)) // → false(ちがう)

画面がなくても、関数だけで「ちゃんと考えられているか」を確かめられたね。これが分けることの力。

✋ やってみよう

だい28で作った自分のアプリの「中心の機能」を、関数1つに書いてみよう。

  1. 「問題を作る関数」か「正誤を判定する関数」のどちらか1つを、まず書く
  2. コンソールでいろんな入力を入れて、正しく動くか確かめる(合うとき・ちがうとき両方)
  3. だい28で作った画面のボタンと、その関数をつなぐ
  4. うまく動かない所は、その関数をそのまま AI に見せて相談する
💡 AIにたしかめてもらおう:書いた関数を見せて「この関数、変な入力(からっぽや、思っていない数)でも大丈夫?こわれない?」と聞いてみよう。自分では気づきにくい「あぶない入力」を教えてくれるよ。
🔁 ふりかえり

つぎの回では、作ったロジックの結果を DB に「保存する」ことをやります。消えずに、ずっと残せるようになるよ。