概要
- The Concise TypeScript Book はTypeScriptの機能を網羅的かつ簡潔に解説
- 初心者 から 上級者 まで役立つ無料・オープンソース書籍
- 公式サイトやEpub形式で ダウンロード可能
- TypeScript 5.2に対応し、最新の言語機能までカバー
- 著者はSimone Poggiali、国際的に活躍するエンジニア
The Concise TypeScript Book 概要
- TypeScriptの全体像 と強力な型システム、最新機能の解説書
- 無料かつオープンソース、高品質な技術教育の普及を目指す
- 初心者・経験者問わず、スキルアップやリファレンスに最適
- 書籍が役立った場合は 寄付やコーヒーの差し入れ で著者を支援可能
- 中国語・イタリア語 等への翻訳版も公開
ダウンロード・閲覧方法
- Epub版ダウンロード :GitHubリポジトリ
- オンライン版閲覧 :公式サイト
目次(抜粋)
- TypeScript入門・導入方法
- 型システム の探求
- 型推論・型アサーション
- 型の拡張・リテラル型・ユニオン型・インターセクション型
- インターフェース・クラス・ジェネリクス
- ユーティリティ型・型操作
- エラー処理・非同期処理・ミックスイン
- ES6/ES7新機能・JSX・モジュール対応
- 最新のTypeScript言語仕様 (5.2対応)
著者について
- Simone Poggiali、1990年代から活躍するエンジニア
- HelloFresh, Siemens, O2, Leroy Merlin, Snowplow 等でのプロジェクト経験
- LinkedIn :Simone Poggiali
- GitHub :gibbok
- X.com :gibbok_coding
- メール :gibbok.coding📧gmail.com
TypeScriptとは
- TypeScript は JavaScript を拡張した 強い型付け のプログラミング言語
- Anders Hejlsberg が2012年に設計、 Microsoft がOSSとして開発・保守
- .ts/.tsxファイル で記述し、 JavaScript へコンパイル可能
- 関数型・ジェネリック・オブジェクト指向 など複数のパラダイムをサポート
TypeScriptを使う理由
- 静的型付け によるバグ防止・実行前のエラー発見
- 型推論 や ES6/ES7機能 の活用
- クロスプラットフォーム・クロスブラウザ 対応
- IntelliSense 等のツール連携強化
TypeScriptとJavaScriptの違い
- TypeScript は JavaScript のスーパーセット
- .ts/.tsx (TypeScript)、 .js/.jsx (JavaScript)で拡張子が異なる
- 型アノテーション を追加すると、JavaScriptランタイムではそのまま実行不可
- 例:
const sum = (a: number, b: number): number => a + b; - 型情報 はコンパイル時のみ有効、実行時には消失
型システムの特徴
- 型エラー検出 と JavaScriptへのコンパイル を独立して実施
- 型エラーがあっても JavaScriptコード出力可能
- 型安全性 を重視し、不正な演算やプロパティアクセスをコンパイル時に検出
- ランタイム型判定 にはタグ付きユニオン(tagged union)等を利用
- 例:
interface Dog { kind: 'dog'; bark: () => void; } interface Cat { kind: 'cat'; meow: () => void; } type Animal = Dog | Cat; const makeNoise = (animal: Animal) => { if (animal.kind === 'dog') animal.bark(); else animal.meow(); };
- 例:
TypeScriptの実行・型消失
- 型情報は実行時に完全消失
- クラス は型・値両方として利用可能
- API型の誤解釈 による型不一致にも注意
まとめ
- The Concise TypeScript Book はTypeScript学習・実務の強力なリファレンス
- 無料・オープンソース で常に最新情報を提供
- 多言語対応 や豊富な実例で、幅広い開発者層をサポート