🦁

TypeScript の勉強 `typeof` の使用: 型チェックとそのメリット

2023/08/16に公開

TypeScript における typeof の使用: 型チェックとそのメリット

TypeScriptは、静的型チェックをサポートするJavaScriptのスーパーセットです。この静的型チェックは、コンパイル時に変数の型を確認して、意図しない型の使用や代入を防ぐ役割を持っています。しかしその一方で、実行時にも変数の型をチェックする方法が必要な場合があります。その際に役立つのが、typeofオペレーターです。

はじめに

インフラエンジニアの私がAWS CDKの為の勉強の為の備忘録です。TypeScript における typeof の使用について勉強しました。

typeof の使用方法:

typeofは、変数の型を文字列として返すJavaScriptのオペレーターです。TypeScriptでも、実行時の型チェックにtypeofを使用することができます。

例として以下のコードを見てみましょう:

const user = { name: '山田 太郎', age: 25, married: false };

if (typeof user.age === 'number') {
  console.log(user.age + 1); // number 型として処理が可能
}
if (typeof user.married === 'boolean') {
  console.log(!user.married); // boolean 型として処理が可能
}

このコードでは、userオブジェクトのageプロパティがnumber型であるか、marriedプロパティがboolean型であるかをチェックしています。

何故 typeof を使うのか?

  • 型安全: もし変数が期待する型と異なる型である場合、意図しない動作やエラーを防ぐために、先に型をチェックすることが推奨されます。

  • 柔軟性: 変数が特定の型を持つことを確認した後、その型に特有の操作やメソッドを安全に使用できます。

  • 明確な意図: コードを読む他の開発者に対して、ある変数が特定の型を持つことを期待していることを明示的に示すことができます。

まとめ:

TypeScriptは、コンパイル時に型の安全性を確保するための多くのツールを提供しています。しかし、実行時の型チェックが必要な場面もあります。そのような場面でtypeofを使用することで、コードの安全性と可読性を高めることができます。

参考

実践 AWS CDK - TypeScript でインフラもアプリも! - Silverworks - BOOTH

TypeScriptにおけるtypeof演算子の使いどころ | Enjoy IT Life

typeof演算子 (typeof operator) | TypeScript入門『サバイバルTypeScript』

Discussion