JSDoc有效的参数类型

69

有没有一个有效的类型列表可以用于 jsdoc 的 param 标签?例如:

@param {type} myParam Some parameter description

我知道numberString之类的东西是有效的,但如果我想记录一个数字是整数,int是否有效?

我已经搜索过一些信息,但好像找不到完整的列表。

3个回答

42

我使用的JS文档工具只是把注释令牌化为字符串,因此可以在{type}部分中放置任何内容。

您可以使用JavaScript类型,如{number}或{string},如果要指定,可以使用{integer}...但我可能会建议使用以下内容:

@param {number} myParam 必须是一个整数

干杯


4
我注意到工具通常只是将字符串进行标记化处理,因此这并不重要。我只是希望有一些标准的类型集合。JavaScript 的类型系统似乎表达能力不够强(例如 Number 不是很具体),但正如你上面展示的那样,还有其他选项。 - Jeff Storey
4
可以将任何内容放在 {} 中,但知道惯例会更好,不是吗?真的没有列表吗?比如,是否有指定原型对象的惯例,或者应该使用 @param {Object} ...? - fraxture
3
JSDoc生成器(https://github.com/jsdoc3/jsdoc)的http://usejsdoc.org/tags-param.html中写道:“参数类型可以是JavaScript内置类型,例如string或Object,也可以是指向代码中另一个符号的JSDoc名称路径。”如果是代码中的符号,则会生成指向其定义的链接。但是,内置类型仍然显示为字符串,因此`{string}`和`{String}`之间实际上没有真正的区别。此外,例如,PhpStorm都可以识别它们,但是对`{array}`提出了抱怨,而接受`{Array}`。 - Jānis Elmeris

36

回答实际问题:

是否有一个jsdoc param标签有效类型的列表?

@param文档在这里(链接)指出您可以使用内置类型和“名称路径”(即到您先前创建/记录的类型的路径,以及您用@type声明的自己的类型。

如果您查找JavaScript内置类型,您会得到以下内容,例如(链接),您将获得基本类型的列表:

  • 布尔值
  • null
  • 未定义
  • 数字
  • 字符串
  • 符号(ECMAScript 2015中的新功能)
  • 对象

这里是一些名称路径的示例:

  • exampleFunction
  • exampleClass#someInstanceMember
  • exampleClass.staticMember
  • exampleClass~innerMember

例如:@param {exampleClass} exampleParam 您的示例类的实例


0
我对一个大型代码库进行了搜索。以下是我找到的一些最常见的内容:
- 原始类型 - 任意类型 - 布尔类型 - 空值类型 - 数字类型 - 字符串类型
- 常见对象 - 数组 - 文档对象 - 元素对象 - 函数对象 - HTML文档对象 - HTML元素对象 - jQuery对象 - 普通对象 - 窗口对象

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接