TypeScript | 1 日 60 分 × 7 日アプリ学習:TypeScript基礎・DOM操作 電卓編

Web APP TypeScript
スポンサーリンク
スポンサーリンク
  1. 2日目のゴールと全体像
  2. 型:数字・演算子・状態を“厳密に扱う”
    1. 演算子を string ではなく「型」で表す
  3. Interface:電卓の状態を“操作しやすい形”に整える
    1. 状態を「入力中かどうか」まで含めて定義する
    2. なぜ必要なのか?
  4. Class:数字入力・演算子入力・計算処理の“中身”を書く
    1. 数字入力の処理を書く
    2. 演算子入力の処理を書く
    3. 計算処理を書く
  5. DOM:表示更新をTypeScript側で行う
    1. 表示部分を更新する関数を作る
  6. Event:数字・演算子・イコール・クリアのイベントを整理する
    1. 数字ボタンのイベント
    2. 演算子ボタンのイベント
    3. イコールボタン
    4. クリアボタン
  7. 2日目で本当に掴んでほしいこと
  8. 3日目のゴールと全体像
  9. 型:小数点やエラー状態を型で表現する
    1. 小数点を扱うための型拡張
    2. 状態にエラーを追加する
  10. Interface:状態を“より現実的な電卓の形”にする
    1. 小数点入力の流れを状態で管理する
  11. Class:連続計算・小数点・エラー処理を実装する
    1. 演算子を連続で押したときの処理
    2. 連続計算を可能にする
    3. 0 で割るエラー処理
  12. DOM:エラー表示・小数点表示を反映する
    1. エラー状態を画面に反映する
  13. Event:小数点ボタン・エラー時の操作制御
    1. 小数点ボタンのイベント
    2. エラー時は操作を無効化する
  14. 3日目で本当に掴んでほしいこと
  15. 4日目のゴールと全体像
  16. 型:キーボード入力やメモリ機能を型で表現する
    1. キーボード操作を型で表す
  17. Interface:メモリ機能を含めた“電卓の状態の形”を定義する
    1. メモリ機能(M+, M-, MR, MC)を状態に追加する
  18. Class:キーボード操作・メモリ機能を追加する
    1. キーボード入力を処理するメソッド
    2. メモリ機能(M+, M-, MR, MC)の実装
  19. DOM:キーボード操作とメモリ機能をUIに反映する
    1. キーボードイベントを登録する
    2. メモリ機能のボタンをDOMで取得する
    3. メモリボタンのイベント登録
  20. Event:クリック+キーボードの“二重入力”を整理する
    1. クリックイベントとキーボードイベントを統一する
  21. 4日目で本当に掴んでほしいこと
  22. 5日目のゴールと全体像
  23. 型:責務ごとに型を分けて“意味のある型”にする
    1. 電卓の型を「ロジック用」「UI用」に分ける
    2. ロジック用の型
    3. UI用の型
  24. Interface:状態を“ロジック用”と“UI用”に分ける
    1. ロジック用の状態(計算に必要な情報)
    2. UI用の状態(画面表示に必要な情報)
  25. Class:ロジックとUIを分離して“育てやすい構造”にする
    1. Calculator(計算ロジック専用クラス)
    2. CalculatorUI(UI操作専用クラス)
  26. DOM:UI更新処理を一箇所にまとめる
    1. updateDisplay を UIクラスに集約する
  27. Event:イベント登録を“拡張しやすい構造”にする
    1. クリックイベントを一括登録する
    2. キーボードイベントも同じロジックを使う
  28. 5日目で本当に掴んでほしいこと
  29. 6日目のゴールと全体像
  30. 型:アプリ全体で再利用できる“型モジュール”を作る
    1. 型をひとつのファイルにまとめるメリット
  31. Interface:状態を“ロジック用・UI用”に分割してモジュール化する
    1. interface をファイル分割する
  32. Class:ロジックとUIを完全に分離し、モジュール化する
    1. Calculator(計算ロジック専用)
    2. CalculatorUI(UI専用)
  33. DOM:UI更新処理を“UIモジュールに完全集約”する
    1. DOM 操作は UI クラスだけが行う
  34. Event:イベント処理を“拡張しやすい構造”にする
    1. イベント処理をモジュール化する
  35. テスト:Calculator クラスをテスト可能な形にする
    1. テストしやすい構造とは?
    2. テストの例(Jest)
  36. 6日目で本当に掴んでほしいこと
  37. 7日目のゴールと全体像
  38. 型:電卓の“安全性と一貫性を守るルール”
    1. 型があることで「間違った値が入らない」世界になる
  39. Interface:電卓の“状態の形を決める設計図”
    1. 状態をひとまとめにすることでロジックが整理される
  40. Class:電卓の“頭脳と身体を分ける構造”
    1. Calculator(ロジック)と CalculatorUI(UI)の分離
    2. Class が担っていた役割
  41. DOM:電卓の“見た目とロジックをつなぐ橋”
    1. DOM操作は UI クラスに集約することで安定する
  42. Event:電卓の“ユーザー操作を受け取る入り口”
    1. クリックとキーボードを同じロジックにつなぐ
  43. 7日目で本当に掴んでほしいこと

2日目のゴールと全体像

2日目のテーマは 「TypeScriptで電卓の“中身(ロジック)”を作り始めること」 です。

1日目では、型・interface・class・DOM・イベントの“役割”をイメージとして掴みました。 2日目では、そのイメージを 実際のコードとして形にし始める ことが目標です。

具体的には次の5つを扱います。

  • 型:数字入力・演算子入力の型をより厳密にする
  • Interface:電卓の状態を「操作しやすい形」に整える
  • Class:数字入力・演算子入力・計算処理の“中身”を書く
  • DOM:画面の表示更新をTypeScript側で行う
  • Event:数字ボタン・演算子ボタン・イコール・クリアのイベントを整理する

電卓は「入力 → 状態更新 → 表示更新」という流れが明確なので、 TypeScriptの基礎を学ぶ題材として非常に優れています。

タイトルとURLをコピーしました