簡潔なTypeScript入門書
96日前原文(github.com)
概要
- 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学習・実務の強力なリファレンス
- 無料・オープンソースで常に最新情報を提供
- 多言語対応や豊富な実例で、幅広い開発者層をサポート