#JavaScriptでも一般的に使用される型
number型
1、5.3、-10
整数や浮動小数点を含む全ての数値
let age: number = 25;
string型
'HI'、"HI"、HI
全ての文字列
let name: string = "Alice";
boolean型(ブーリャン型)
true、false
trueまたはfalse、真偽値型
let isActive: boolean = true;
null型
明示的に「何もない」ことを示す型
let value: null = null;
undefined型
値が未定義であることを示す型
let value: undefined = undefined;
symbol型
let uniqueKey: symbol = Symbol();
bigint型
let largeNumber: bigint = 123456789012345678901234567890n;
Array型
[1,2,3]
複数の変数を格納できるデータ型。また異なったデータ型をミックスして入れることもできるし緩く指定することも厳しく指定することもできる。JavaScriptの全てのArray。配列操作が直感的かつ安全になる。
let numbers: number[] = [1, 2, 3];
let strings: string[] = ["hello", "world"];
TypeScript固有の型
object型
{age: 30}
{}(中括弧)にkey value形式の値を入れて表す。;でプロパティを仕切る。JavaScriptの全てのobjectの事。TypeScriptでプリミティブ型(string, number, boolean, symbol, null, undefined)以外のすべての値を表す型。一般的な型からよりきめ細かい明確な型になりように指定していく。汎用性が高いですが型安全性が低い。実際に使う場面は限られますが、汎用的な関数の引数やプリミティブ型を除外する場合に有用
Objectリテラル:key=>value
Ocject型:key=>type(型)
let obj: { key: string } = { key: "value" };
console.log(obj.key); // OK
any型
任意の型を許容する型。ただany型を使うとTypeScriptが提供する型の恩恵を得ることができない。
let anything: any = "Hello";
anything = 42; // OK
unknown型
不明な型。anyよりも安全で、型を確認するまで操作ができない
let something: unknown = "Hello";
if (typeof something === "string") {
console.log(something.toUpperCase());
}
void型
戻り値がない関数の型
function logMessage(): void {
console.log("This is a message.");
}
never型
オブジェクト型
let obj: object = { key: "value" };
ユニオン型と交差型
ユニオン型 (|)
複数の型を許容する
let value: string | number = "Hello";
value = 42; // OK
交差型 (&)
複数の型を結合する
type Person = { name: string } & { age: number };
let person: Person = { name: "Alice", age: 30 };
配列とタプル
配列 (Array または T[])
let numbers: number[] = [1, 2, 3];
タプル ([T1, T2, ...])
let tuple: [string, number] = ["Alice", 30];
列挙型 (enum)
値の集合を定義する型
enum Color {
Red,
Green,
Blue,
}
let color: Color = Color.Green;