string、number、boolean、bigint、symbol、null、undefined、any、unknown、never、void、object、配列、タプル、列挙型、リテラル型、ユニオン型を、それぞれ例付きで紹介します。
TypeScriptの基本的なデータ型は、JavaScriptの7つのプリミティブ、つまりstring、number、bigint、boolean、symbol、null、undefinedで、小文字で書きます。その上に、特殊な型(any、unknown、never、void、object)、配列、タプル、列挙型などの構造、そしてリテラル型、ユニオン型、交差型といった型を組み合わせる方法が加わります。
4つのグループ
リファレンスは名前で検索したり、グループで絞り込んだりできます。各行には.tsファイルにそのまま貼り付けられる1行の例があり、注記の列では、voidとundefinedの違いや、unknownがanyより安全な理由など、つまずきやすい挙動を示しています。
JavaScriptと同じ7つで、string、number、bigint、boolean、symbol、null、undefinedです。numberは整数と小数の両方を表し、整数専用や浮動小数点専用の別の型はありません。
どちらもあらゆる値を受け入れます。anyはその値に対して何でもできるので、ミスが気づかれないまま通ってしまいます。unknownはtypeofなどのチェックで絞り込むまで何もできないため、信頼できないデータには安全な選択肢です。
neverは、発生し得ない値を表します。常に例外を投げる関数の戻り値の型や、ユニオン型のすべてのメンバーを処理した後に残るものです。この2つ目の使い方が、網羅性チェックを支えています。
いいえ。voidは、戻り値を無視すべき関数の戻り値の型です。voidを返すと型付けされた関数には、何かを返すコールバックを渡すこともできます。一方、undefinedは値が本当にundefinedであることを意味します。
objectは、オブジェクト、配列、関数など、プリミティブ以外のあらゆる値を意味します。{} は、プリミティブを含め、nullとundefined以外のあらゆる値を意味します。グローバルなObject型が役立つことはほとんどないので、objectか具体的なオブジェクト型を使いましょう。
チェックのたびに可能性が減っていきます。最後の分岐の中では、コンパイラーはその値が文字列だとわかっています。
ユニオン型に新しいステータスが加わると、対応する分岐が追加されるまで、neverへの代入がコンパイルエラーになります。
任意の長さのテキスト。テンプレートリテラルも文字列です。
整数も小数も同じ型で、NaNとInfinityも含みます。
安全な整数の範囲を超える整数。接尾辞nにはES2020のターゲットが必要です。
trueかfalseのみ。
Symbol() を呼ぶたびに一意の値が作られます。
strictNullChecksが有効な場合、nullを許可するには型に明記する必要があります。
宣言されたが代入されていない変数や、存在しない省略可能プロパティの値です。
その値のチェックを無効にします。noImplicitAnyは、気づかないうちに入り込んだ箇所を報告します。
どんな値も保持できますが、絞り込むまで何も許可しません。
この型を持つ値は存在しません。常に例外を投げる関数や、何も残っていないユニオン型です。
無視すべき戻り値。undefinedとは異なります。
プリミティブ以外のすべて:オブジェクト、配列、関数。
string[] と Array<string> は同じ意味です。
ReadonlyArray<number> と同じです。pushなど、変更を加えるメソッドが取り除かれます。
長さが固定で、位置ごとに型があります。省略可能な要素は末尾に置きます:[number, number?]。
ほとんどのTypeScriptの構文と違い、実行時に実際のオブジェクトを生成します。
プロパティをインラインで記述します。再利用するにはtypeかインターフェースで名前を付けます。
引数と戻り値の型。緩いFunction型よりこちらを使いましょう。
プリミティブ全体ではなく、正確な値を表します。
複数の型のうちの1つ。メンバーを使う前に、typeof、in、共通のフィールドで絞り込みます。
すべての型を同時に満たします。主にオブジェクト型の合成に使います。
プリミティブ
特殊な型
構造
組み合わせ
型を検索
unknown、タプル、null...
グループで絞り込む
すべて
{v}件中{n}件の型を表示中
検索に一致する型はありません。
TypeScriptの型と例
型
グループ
例
注記
無料で始める · クレジットカード不要