TypeScript
エンジニアのためのWebチートシート
TypeScriptはMicrosoftが開発したJavaScriptのスーパーセットです。 静的型付けにより、開発時のエラー検出やコード補完が強化されます。 基本型、高度な型、ユーティリティ型、型ガードなどをチートシートにまとめました。
基本型
string
文字列型です。シングルクォート、ダブルクォート、テンプレートリテラルが使えます。
number
整数・浮動小数点を含む数値型です。
boolean
true / false の真偽値型です。
Array
配列型は2つの書き方があります。
Tuple(タプル)
要素の型と数が固定された配列です。
Enum(列挙型)
名前付き定数のセットを定義します。
any / unknown
anyは型チェックを無効化します。unknownはanyの型安全版で、使用前に型チェックが必要です。
void / never
voidは戻り値がないことを示します。neverは決して到達しない値の型です。
高度な型
Union型(共用体型)
複数の型のいずれかを許容する型です。
Intersection型(交差型)
複数の型を結合して、すべてのプロパティを持つ型を作ります。
リテラル型
特定の値のみを許容する型です。
Optional(オプショナル)
?を付けるとプロパティや引数を省略可能にできます。
インターフェース & 型エイリアス
インターフェースの基本
オブジェクトの型を定義します。
インターフェースの継承
extendsを使ってインターフェースを拡張できます。
型エイリアス
typeキーワードで型に別名を付けることができます。Union型やタプルにはtypeを使います。
ジェネリクス
ジェネリック関数
型パラメータを使って、様々な型で動作する関数を作れます。
ジェネリックインターフェース
インターフェースにも型パラメータを使えます。
ジェネリック制約
extendsを使って型パラメータに制約を付けることができます。
ユーティリティ型
Partial<T>
すべてのプロパティをオプショナルにします。
Pick<T, K> / Omit<T, K>
Pickは指定したプロパティのみ抽出します。Omitは指定したプロパティを除外します。
Record<K, V>
キーの型Kと値の型Vからオブジェクト型を作ります。
Readonly<T>
すべてのプロパティを読み取り専用にします。
ReturnType<T>
関数型の戻り値の型を抽出します。
型ガード
typeof ガード
typeofを使ってプリミティブ型を判定します。
in ガード
in演算子を使ってプロパティの存在を判定します。
カスタム型ガード
is構文を使ってユーザー定義の型ガード関数を作れます。
デコレータ & 修飾子
as const
オブジェクトや配列をリテラル型として扱い、readonlyにします。
satisfies 演算子
型の互換性をチェックしつつ、推論された型を保持します(TypeScript 4.9+)。
テンプレートリテラル型
テンプレートリテラルを使って文字列型を動的に生成できます。
モジュール & 宣言
import / export
ESModulesの構文でモジュールをインポート・エクスポートします。型のみのインポートにはimport typeを使います。
型宣言(declare)
declareを使って外部モジュールやグローバル変数の型を宣言します。