2分でわかるTypeScript:スマートタイピングクイックガイド
コードをより安全にしたいJavaScript開発者の方へ。このガイドでは、JavaScriptのスーパーセットであり、あなたのコーディングアプローチを革新するTypeScriptについて解説します!
🎯 なぜTypeScript?
TypeScriptは単なる型付けツールではありません - 以下の点であなたの強力な味方となります:
- 実行前のエラー検出
- コードの保守性向上
- 優れた自動補完
- チームワークの円滑化
プロのヒント:TypeScriptは純粋なJavaScriptにコンパイルされるため、
本番アプリケーションの速度を低下させることはありません!
🔑 基本的な型
日常的に使用する型を紹介します:
1// プリミティブ型
2const name: string = 'Alice';
3const age: number = 25;
4const isDeveloper: boolean = true;
5
6// 配列
7const skills: string[] = ['TypeScript', 'React', 'Node.js'];
8
9// 型付きオブジェクト
10interface Developer {
11 name: string;
12 age: number;
13 skills: string[];
14}
15
16const dev: Developer = {
17 name: 'Alice',
18 age: 25,
19 skills: ['TypeScript', 'React', 'Node.js'],
20};
🛡️ TypeScriptの実践
1. 型付き関数
1// パラメータと戻り値の型付き関数
2function calculateSalary(hourlyRate: number, hours: number = 35): number {
3 return hourlyRate * hours;
4}
5
6// アロー関数と型
7const sayHello = (name: string): string => `Hello ${name}!`;
2. 高度な型
1// ユニオン型
2type ProjectStatus = 'IN_PROGRESS' | 'COMPLETED' | 'ON_HOLD';
3let status: ProjectStatus = 'IN_PROGRESS';
4
5// ジェネリック型
6interface Response<T> {
7 data: T;
8 status: number;
9}
10
11const apiResponse: Response<Developer> = {
12 data: dev,
13 status: 200,
14};
3. オプショナルチェーンによるNull安全性
1interface Project {
2 client?: {
3 name?: string;
4 };
5}
6
7const project: Project = {};
8const clientName = project.client?.name ?? '匿名クライアント';
オプショナルチェーン(?.)とNull合体演算子(??)は、
Null可能な値を優雅に扱うための最適なツールです!
🚀 プロのヒント
より安全なタイプガード
1interface Admin {
2 role: 'admin';
3 permissions: string[];
4}
5
6interface User {
7 role: 'user';
8 level: number;
9}
10
11function handleUser(person: Admin | User) {
12 if (person.role === 'admin') {
13 console.log(person.permissions); // TypeScriptはこれがAdminだと認識
14 } else {
15 console.log(person.level); // TypeScriptはこれがUserだと認識
16 }
17}
重要なユーティリティ型
1// Partial - すべてのプロパティをオプショナルに
2type PartialDev = Partial<Developer>;
3
4// Pick - 特定のプロパティを選択
5type BasicDev = Pick<Developer, 'name' | 'age'>;
6
7// Omit - 特定のプロパティを除外
8type DevWithoutSkills = Omit<Developer, 'skills'>;
🎓 さらなる学習
tsconfig.jsonでstrict: trueを使用
- TypeScript用のVS Code拡張機能をインストール
- 実際のプロジェクトで練習
- 高度なジェネリック型を探求
エキスパートのアドバイス:小さく始めましょう!allowJs: trueオプションを使用して、
既存のプロジェクトに徐々にTypeScriptを導入してください。
🏁 結論
TypeScriptは単なるツールではなく、コード品質への投資です。わずか数分で、より自信を持ってコーディングするための基礎を学びました。JavaScriptをTypeScriptに変換する準備はできましたか?さあ、始めましょう!🚀