1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TypeScriptはJavaScriptに型の概念を導入したスーパーセットの言語です。型を活用することで、バグの予防やコード補完の強化ができ、より安全で保守しやすいコードが書けるようになります。ここでは、TypeScriptでよく使う型や便利な型について簡潔にまとめます。


✨ 基本の型(プリミティブ型)

型名 説明
string 文字列 "hello"
number 数値(整数・小数) 42, 3.14
boolean 真偽値 true, false
null null値 null
undefined 未定義値 undefined
bigint 大きな整数 1234567890n
symbol 一意の識別子 Symbol("id")

▶️ 配列とオブジェクトの型

let names: string[] = ["Alice", "Bob"];

interface User {
  name: string;
  age: number;
}

const user: User = { name: "Taro", age: 25 };

🎉 ユニオン型

複数の型のうちのどれかを許容する型。

let value: string | number;
value = "hello"; // OK
value = 42;       // OK
type OperationType = "CREATE" | "UPDATE" | "DELETE";

🌓 リテラル型

特定の値のみを許容する型。

let status: "success" | "error";

📄 型エイリアス(type)とインターフェース(interface)

type ID = string | number;
interface Product {
  id: ID;
  name: string;
}

🧱 Enum(列挙型)

あらかじめ決められた定数のセットを表現する型。

enum Status {
  SUCCESS = "SUCCESS",
  ERROR = "ERROR",
  PENDING = "PENDING"
}

const current: Status = Status.SUCCESS;
  • JavaやC言語にもある「列挙型」と似た構文。
  • 実行時にもオブジェクトとして保持される(逆引きも可能)。
  • ただし、バンドルサイズや柔軟性の面では as const + union 型が使われることも多い。

💡 Record

オブジェクトのキーと値の型を指定するユーティリティ型。

type QueueType = "EMAIL" | "SMS" | "PUSH";
const queueUrls: Record<QueueType, string> = {
  EMAIL: "https://...",
  SMS: "https://...",
  PUSH: "https://...",
};

💡 よく使うユーティリティ型

型名 説明
Partial<T> 全てのプロパティを任意にする
Required<T> 全てのプロパティを必須にする
Readonly<T> 全てのプロパティを読み取り専用にする
Pick<T, K> 特定のプロパティだけを取り出す
Omit<T, K> 特定のプロパティを除外する

🤓 keyof typeof と as const

const Operation = {
  PARSE: "PARSE",
  EDIT: "EDIT",
  EMBED_PDF: "EMBED_PDF",
} as const;

// "PARSE" | "EDIT" | "EMBED_PDF"
type OperationType = keyof typeof Operation;
  • as const を使うことで、オブジェクトの値がリテラル型(固定された文字列)になる
  • keyof typeof は、そのオブジェクトのキー名を文字列リテラルのUnion型として抽出

🔍 まとめ

TypeScriptの型を使いこなすことで、より安全で自動補完の効いた開発ができるようになります。
特に、ユニオン型・リテラル型・Recordkeyof typeofenum などは実践で頻出なので、積極的に使っていきましょう!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?