繁体   English   中英

@type 中的 JSDoc 引用对象变量

[英]JSDoc reference object variable in @type

假设我有以下 JS:

let myObj = {
    foo: function(a, b) {},
    bar: function(a) {}
};

我可以在 JSDoc 中将myObj引用为一种类型吗:

/*
 * @param {myObj} param
 */
function (param) {}

阅读JSDoc @type文档,它说可以使用符号名称,但我不确定什么才是“符号”。 我见过的所有示例和关于 stackoverflow 的其他问题都显示了正在使用的类名,但在这种情况下我没有定义类。

对于更多的上下文,我一直在使用@typedef并手动列出所有属性来定义对象,例如上面的示例。 然而,这很乏味,感觉就像代码重复。 我最近发现 PhpStorm 仍然可以识别返回类型并且有没有@typedef标签的代码提示,但我不确定这是否是 JSDoc 的一部分,或者只是 PhpStorm 足够聪明来解决它。

您可以在myObj前面添加@namespace ,如下例所示。
然后,您可以使用 obj 名称作为类型将其传递给其他类型定义。
注意:这是 vscode。

在此处输入图片说明

在此处输入图片说明

但是, obj 名称必须相同
否则,它将无法工作。

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM