Navigation

TypeScriptの型ガードを活用して安全なコードを書く方法

📅 7月 8, 2025
👤
1 min read

TypeScriptの型ガードを活用して安全なコードを書く方法

概要

TypeScriptの型ガードは、実行時に型情報を利用して特定の型を絞り込み、安全なコードを書くための重要な手法です。これにより、型の不整合やエラーを事前に防ぐことができます。この技術は、コードの信頼性を高め、開発効率を向上させるのに役立ちます。

サンプルコード


type Animal = { name: string };
type Dog = Animal & { bark: () => void };
type Cat = Animal & { meow: () => void };

function isDog(animal: Animal): animal is Dog {
  return (animal as Dog).bark !== undefined;
}

function makeSound(animal: Animal) {
  if (isDog(animal)) {
    animal.bark();
  } else {
    animal.meow();
  }
}

解説

上記のコードでは、`isDog` 関数を使って `Animal` 型を `Dog` 型に絞り込んでいます。これにより、`makeSound` 関数内で安全に `bark` メソッドを呼び出すことができます。型ガードを使うことで、実行時エラーを事前に防ぎ、コードの安全性を確保します。

応用例・バリエーション


// 複数の型ガードを組み合わせる
function isCat(animal: Animal): animal is Cat {
  return (animal as Cat).meow !== undefined;
}

function makeSound(animal: Animal) {
  if (isDog(animal)) {
    animal.bark();
  } else if (isCat(animal)) {
    animal.meow();
  }
}

ベストプラクティス

  • 型ガードを使って安全性を高める
  • 型の絞り込みができる箇所で可能な限り型ガードを活用する
  • ユニオン型などで複数の型を扱う際に型ガードを適切に使用する

関連技衎・参考情報

  • TypeScript Handbook: [Advanced Types](https://www.typescriptlang.org/docs/handbook/advanced-types.html)
  • TypeScript Deep Dive: [Type Guards](https://basarat.gitbook.io/typescript/type-system/typeguard)
← Back to JavaScript