なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ

書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

2020/08/16

JavaScript で型定義ファイルを Global に宣言したい

カテゴリー:

TypeScript 使うまでもない単体の JS ファイルでも d.ts を使いたい時ってあるじゃないですか。
そういうときのあれ。

例えば、 windowDocute というオブジェクトを生やしたこんな型定義があって。

@types/globals.d.ts
// 面倒なので一部だけ
type DocuteOptions = {
  target?: string;
  title?: string;
};
 
interface Docute {
  new (options?: DocuteOptions): this;
}
 
export declare global {
  interface Window {
    Docute: Docute;
  }
}

もう何もかも面倒で tsconfig.json すら作りたくないけど型チェックだけ使いたいとき、
下のようにすれば一応動く

public/docute.js
// @ts-check
/// <reference path = "../@types/globals.d.ts" />
 
new Docute(...); // 型チェックも動く

ということで、怠惰なメモでした。

Copyright (c) 2015 - 2023 Natsuneko <me@natsuneko.cat>