如何使用 JSDOC 记录全局变量的类型

How to document the type of a global variable with JSDOC

我有一段代码在浏览器上运行。有一个从 CDN 加载的库,它将一些变量放在全局范围内。我如何记录该变量的类型?

例如

index.hmtl => 将 globalVariable 置于全局范围

...
<script src="//cdn.library.com/library.js"></script>
...

index.js => 使用 globalVariable

/**
 * @type {SomeType} globalVariable
 */
const foo = globalVariable()

类似的东西,所以我可以指定 globalVariable 的类型。这可能吗?

类型转换和 window 全局可以成为你的朋友。

要投:

const globalVariable = /** @type {someType} */ (window.globalVariable);

要修改 window 全局,请添加包含以下内容的外部文件:

/** @type {someType} */
window.prototype.globalVariable = function() {};