-- Views
June 27, 26
スライド概要
はじめまして、yukikoと申します。 IT教育支援や、DX推進が可能です。 ◆ スキル LPIC レベル2 AI / Python Splunk BI(データ可視化・分析) ◆ その他 新卒・未経験の学生向けに、エンジニア転職を応援する資料を趣味で作成しています。 もしよろしければご活用ください。
TypeScript 基礎から学ぶ完全ガイド 査読済み研究 × 実践的学習設計 うさうさ研修工房 | うさうさ先生 型安全 IDE補完 保守性↑ 大規模開発
なぜ TypeScript を学ぶのか? TypeScript のメリット 査読済み研究より 15% 65% バグ減少 Gao et al. (2017) MSR 型エラー事前検出 Bierman et al. (2014) 型安全性 コンパイル時にバグを早期発見。 実行前エラー検出で品質向上。 IDE補完 VSCode等で強力な補完・リファクタ。 開発速度が大幅アップ。 2.7x #4 大規模開発 生産性向上 Prikladnicki et al. (2021) Stack Overflow 人気言語 (2023年調査, n=90,000) 自己文書化 型定義がそのままドキュメントになる。 チームのオンボーディングが楽に。 JS完全互換 既存のJS資産をそのまま活用可能。 段階的な移行も可能。
TypeScript 学習ロードマップ Phase 1 基礎固め Phase 2 中級テクニック Phase 3 実践・応用 2〜3週間 3〜4週間 4〜6週間 ▸ 型アノテーション基礎 ▸ Union / Intersection 型 ▸ React + TypeScript ▸ プリミティブ型・配列・オブジェク ト ▸ Generics(ジェネリクス) ▸ 非同期処理の型付け ▸ 関数の型定義 ▸ インターフェースと型エイリアス ▸ 外部ライブラリの型定義 ▸ tsconfig.json 設定 ▸ 型ガード・Narrowing ▸ デコレータ・高度な型 ▸ 型推論の仕組み ▸ Utility Types ▸ 型テスト・バリデーション まず動かす体験が重要 パターンで覚える 実プロジェクトで学ぶ
型システムの基礎
主要な型
string
// TypeScript 型定義の例
文字列
let name: string = 'Usausa'
// インターフェース定義
interface User {
number
数値
let age: number = 25
boolean
真偽値
let ok: boolean = true
string[]
配列
let arr: string[] = []
any
何でも(非推奨 let x: any = 42
)
unknown
安全なany
let u: unknown
void
返値なし
function log(): void {}
id: number;
name: string;
email?: string;
// Optional
role: 'admin' | 'user';
}
// 関数の型定義
function greet(
user: User
): string {
never
到達不能
function err(): never {}
return `Hi, ${user.name}!`;
}
認知科学に基づく効果的な学習法 間隔反復(Spaced Repetition) 学習間隔を徐々に伸ばして定着 Anki等で型パターンを反復。 忘却曲線を利用した最効率法。 Ebbinghaus (1885) / Cepeda et al. (2006) インターリーブ(混合練習) 型の種類を混ぜて練習する。 「string」→「number」→「interface」→交互 テスト得点が20-40%向上。 Rohrer & Taylor (2007) / Kornell (2009) 困難な練習(Desirable Difficulty) 解けるか解けないか境界の問題へ。 「少し難しい」が最大成長の鍵。 Vygotsky ZPD理論と一致。 Bjork & Bjork (2011) / Vygotsky (1978) 説明による学習(Generation Effect) 人に説明することで記憶定着。 「この型定義はなぜこうなる?」 と問い直す学習が効果的。 Slamecka & Graf (1978) / Fiorella & Mayer (2016)
週間学習スケジュール(推奨プラン) 月 火 水 木 金 土 日 型基礎インプッ ト (20分) 前日復習 (Anki)(10分) 混合練習 (30分) 小プロジェクト (45分) 週次レビュー (20分) 実践アプリ開発 (60分+) 休息 or 軽い復習(15分) ハンズオン演習 (30分) 新しい型学習 (30分) エラー解析 (20分) 型定義改善 (15分) 人に説明する (20分) 公式ドキュメン ト 精読(20分) 翌週計画 立案(10分) 週あたり 約5〜7時間 | 月あたり 約20〜28時間 | 3ヶ月で基礎〜中級 習得可能
公式・厳選リソース 公式ドキュメント 書籍(日本語) 実践演習サイト TypeScript Handbook(typescriptlang.org) → 必読。型の全概念を網羅。日本語版あり 。 「プログラミングTypeScript」 (Boris Cherny著 / O'Reilly) Type Challenges(GitHub) → 段階別型パズル。中級以上に最適。 TypeScript Playground → ブラウザで即試せる公式環境。型エラー を即確認。 「TypeScript Deep Dive」 (Basarat Ali Syed / 無料オンライン) Exercism.io TypeScript Track → mentorによるコードレビューあり。 TypeScript GitHub Repo → 最新機能・RFC・issueで設計思想を学ぶ 。 「実践TypeScript」 (吉井健文著 / 技術評論社) LeetCode + TypeScript → アルゴリズムで型力を鍛える。
よくあるつまずきポイントと対策 any を使いすぎる → unknown を使う。型ガード後に安全利用。 tsconfig の strict: true を必ず有効化。 型と値を混同する → interfaceは型の世界。変数は値の世界。 typeof / keyof で型から値へ橋渡し。 ジェネリクスを恐れる → まず<T>を「型のパラメータ」として理解。 Array<string> から読み解くと分かりやすい。 tsconfig を放置する → strict: true, noImplicitAny: true は必須。 target / module は用途に合わせて設定。 型エラーを握りつぶす(// @ts-ignore) → 根本原因を理解して修正する習慣を。 エラーメッセージは学習の最高の先生。
習熟度チェックリスト 入門 初級 中級 ☐ 基本型(string/number/boolean)を宣 言できる ☐ Union型・Optional型を使いこなせる ☐ Genericsを自分で定義・利用できる ☐ インターフェースを定義・利用できる ☐ 型エイリアス(type)とinterfaceの使 い分けができる ☐ 型ガード(is / typeof / instanceof)を 使える ☐ 関数に引数と戻り値の型を付けられる ☐ 型推論が行われる場面を説明できる ☐ Utility Types(Partial/Required/Pick) を活用できる ☐ tsconfig.json の基本設定ができる ☐ Array型・Tuple型の違いを説明できる ☐ 非同期関数(async/await)に型を付 けられる
まとめ & Next Steps Next Steps 今日のポイント TypeScriptは研究で実証された生産性・品質向上ツール 1️⃣ TypeScript Playground で Hello World を書く 3フェーズ(基礎→中級→実践)で段階的に学ぶ 間隔反復・混合練習・説明学習で定着率UP 週5〜7時間・3ヶ月で基礎〜中級を習得可能 2️⃣ Handbook Chapter 1〜3 を今週中に読む 3️⃣ 既存JSプロジェクトに .tsファイルを1つ追加 any禁止・strict有効・型エラーから逃げない 4️⃣ Type Challenges「easy」 を5問クリア うさうさ研修工房 — TypeScript 完全ガイド | ご質問はいつでもどうぞ!