この投稿ではTypeScriptのtypeof import("...")
とは何かを説明します。
インポート型
import("...")
は、TypeScriptで型レベルでモジュールを扱うための構文です。インポート型(import type)と呼ばれます。
インポート型の構文
typeof import("モジュール名")
typeof import("モジュール名").変数の識別子
import("モジュール名").型の識別子
import("モジュール名").型の識別子<型パラメータ>
モジュールの型
typeof import("module")
はモジュール全体の型になります。typeof import("moulde")
で得られる型には、import * as module from "module"
でインポートした値が代入できます。
import * as module from "./module";
const a: typeof import("./module") = module; // OK
モジュールの型を満たしていれば、モジュールからインポートした値でなくても代入できます。
// module.ts
declare const a: string;
declare const b: number;
export { a };
export default b;
// useModule.ts
const a: typeof import("./module") = { a: "", default: 1 }; // OK