我想指示参数应该是 DOM 节点,但我似乎找不到任何有关如何使用 JSDoc 指示这一点的信息。我可以用{Object}
,但这相当难看。我宁愿有类似的东西{Node}
or {DOMNode}
,但我找不到任何例子来指出我的方向。
那么,如何将参数标记为需要 DOM 节点呢?
From jsdoc.app https://jsdoc.app/tags-type.html为了@type
注解:
类型表达式可以包含符号的 JSDoc 名称路径(例如,myNamespace.MyClass);内置 JavaScript 类型(例如字符串);或这些的组合。您可以使用任何 Google Closure Compiler 类型表达式,以及 JSDoc 特有的其他几种格式。
[...]
每种类型都通过使用下述格式之一提供类型表达式来指定。在适当的情况下,JSDoc 将自动创建指向其他符号文档的链接。例如,如果该符号已被记录,@type {MyClass} 将链接到 MyClass 文档。
所以你可以链接到符号。HTMLElement https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement(以及继承对象,例如HTMLImageElement https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement) 是符号。因此,如果您遵循规范,您应该被允许执行以下操作:
@type {HTMLElement}
表明某事物的类型是HTMLElement
(即 DOM 节点)。
我猜测为什么没有明确记录这一点是因为 DOM 节点对象不是 JavaScript 内置对象(例如String
or Number
)。它们是由客户端浏览器添加的,因此就 JS 语言规范而言,它们在技术上与您和我可以制作的任何其他符号类似(除了使用本机浏览器代码实现)。
虽然我们还没有到达实际编译我们的文档的阶段(这是一个单独的故事),这将确认上述内容是否真正被 JSDoc 接受,但这就是我们在我工作的地方解释和遵循这个特定概念以及我们的标准的方式IDE (IntelliJ) 接受它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)