TypeScriptで学ぶ関数型プログラミング¶
ようこそ! 👋¶
この教材は、TypeScriptを使って関数型プログラミング(関数を中心にプログラムを組み立てる考え方)の基礎から実践までを学ぶためのガイドです。
この教材の特徴
- 🎯 実践的 - 実際のコードを書きながら学習
- 📚 段階的 - 基礎から応用まで順を追って解説
- 🛠️ TypeScript特化 - TypeScriptの型システムを活用した実装
- 🔰 初心者にやさしい - 専門用語を丁寧に解説
関数型プログラミングって何? 🤔¶
関数型プログラミングとは、プログラムを「関数の組み合わせ」で作る考え方です。
たとえば、料理で考えてみましょう: - 従来の方法:鍋の中身を直接かき混ぜながら調理(データを直接変更) - 関数型の方法:材料を新しいボウルに移して調理(新しいデータを作成)
なぜ関数型プログラミングを学ぶのか?¶
🛒 実例:ECサイトのカート機能で考える¶
従来の書き方では、こんなバグが起きやすいです:
// 😰 バグが起きやすい例
let cartTotal = 0;
function addToCart(price) {
cartTotal += price; // 直接変更するので、どこで変わったか追いにくい
}
関数型なら:
メリットまとめ¶
- 🎯 予測可能なコード - 関数の動作が入力だけで決まる
- 🧪 テストしやすい - 同じ入力なら必ず同じ結果
- 🚀 並行処理に強い - データを変更しないので同時実行OK
- 🐛 バグの減少 - どこでデータが変わったか明確
この教材で学べること¶
🌱 入門編¶
🏗️ 基礎編¶
🚀 応用編¶
前提知識¶
この教材を始める前に必要な知識:
必須¶
- ✅ JavaScriptの基本 - 変数、関数、配列の使い方
- ✅ TypeScriptの基本 - 型の指定方法(
number
、string
など)
あると良い(なくても大丈夫!)¶
- 📝 配列の
map
やfilter
の使用経験(教材内で詳しく説明します) - 📝
Promise
の基礎知識(第8章で必要ですが、そこで説明します)
初めての方へ
TypeScriptが初めての方は、先にTypeScript入門で基本を学ぶことをおすすめします。 でも、JavaScriptがわかれば、この教材を読みながら学ぶこともできます!
環境構築¶
サンプルコードの実行¶
各章にはサンプルコードが含まれています。以下のコマンドで実行できます:
学習の進め方¶
📖 効果的な学習方法¶
- 順番に読む - 各章は前の章の知識を積み上げていきます
- コードを実行 - 読むだけでなく、必ず手を動かしましょう
- エラーを恐れない - エラーメッセージは学習のチャンス!
- 練習問題に挑戦 - 段階的なヒントを活用して考えてみよう
🎯 学習のコツ¶
こんな風に学ぼう
⏱️ 学習時間の目安¶
- 入門編(1-3章): 各章30分〜1時間
- 基礎編(4-6章): 各章1〜2時間
- 応用編(7-9章): 各章2〜3時間
無理せず、自分のペースで進めましょう!
フィードバック¶
質問や提案がある場合は、GitHubのIssueでお知らせください。
🔤 用語について¶
この教材では、専門用語が出てきたときは必ず日本語で説明します。
例: - イミュータブル(不変性) → データを変更しない性質 - 純粋関数 → 同じ入力なら必ず同じ結果を返す関数 - 副作用 → 関数が計算以外のことをすること
わからない用語があったら、用語集も参照してください!
それでは、関数型プログラミングの世界へ踏み出しましょう! 🎉
困ったときは
- 💬 よくある質問を確認
- 📚 用語集で用語を調べる
- 🐛 GitHubのIssueで質問