TypeScriptの型の恩恵を受けながらHTML(JavaScript)から必要な関数だけを呼び出したい。 そんな時はグローバルなWindowにメソッドを生やす事で対応できます。 生やしたいメソッドのinterfaceを定義するglobalなWindowのプロパティにinterfaceを定義する関数をWindowのプロパティに代入する 実装 今回は console.log を呼ぶ簡単な関数を即時関数で実装しました。 interface TsFunc { print(message: string): void; } declare global { interface Window { tsFunc: TsFunc; } } const tsFunc: TsFunc = (() => { return { print: (message: string) => { console.log