🐕
【JavaScript】JSDocで@ts-checkを使うときの@templateにデフォルト型を指定する【TypeScript】
なぜかTypeScript公式のJSDocリファレンスに書かれておらず、「jsdoc ts-check template default」で検索しても出てこなかったので、一応メモを残しておく。
@template
のデフォルト型を指定するには@template [TypeArgName=DefaultType]
と書く。
例えば以下のTypeScriptコード相当のts-checkを書くには
type Identity<T = number> = T
const foo: Identity = 10
以下のように書く。
/**
* @template [T=number]
* @typedef {T} Identity
*/
/** @type {Identity} */ // Identityの型引数を指定していないので、Identity<number>として扱われる
const foo = 10 // 通る(`Identity = Identity<number> = number`のため)
Discussion