TypeScriptはJavaScriptに型システムを導入することで、開発者により堅牢なコードを書く機会を提供します。その中でも、型の判定はコードの安全性を向上させる上で重要な要素の一つです。

typeofキーワードの基本

TypeScriptにおいて、変数や式の型を取得するためにはtypeofキーワードを使用します。これは、ランタイムではなくコンパイル時に型情報を取得できるという特徴があります。以下は、typeofキーワードの基本的な使用例です。

let myVariable: number = 42;
let myVariableType: typeof myVariable; // 型は"number"

上記の例では、変数myVariableの型をtypeofキーワードを用いて取得し、それをmyVariableTypeに割り当てています。この結果、myVariableTypeの型はnumberとなります。

インスタンスの型取得

typeofキーワードは単なる変数だけでなく、クラスやインスタンスの型も取得できます。

class MyClass {
    value: string = "Hello, TypeScript!";
}

let myInstance = new MyClass();
let instanceType: typeof myInstance; // 型は"MyClass"

上記の例では、MyClassというクラスを定義し、そのインスタンスを作成しています。その後、typeofキーワードを使ってmyInstanceの型を取得し、instanceTypeに割り当てています。

型安全なリファクタリング

typeofキーワードはコードをリファクタリングする際にも役立ちます。変数やインスタンスの型が変更されても、typeofを使用することで手動で型を修正する手間を減らすことができます。

let dynamicValue: any = 42;
// ...
dynamicValue = "TypeScript is powerful!";
let newValue: typeof dynamicValue; // 型は"string"

上記の例では、dynamicValueが初めにnumber型で宣言されていますが、後でstring型の値に変更されています。しかし、typeofキーワードを使用することで、newValueは自動的に新しい型であるstring型として推論されます。

typeofキーワードはTypeScriptの静的型付けの恩恵を受ける上で非常に有用であり、変数やインスタンスの型情報を効果的に利用することができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です