注释中以@开头的文本的目的是什么

时间:2019-05-30 13:30:46

标签: javascript node.js

我看过其中包含@some text的评论。这是来自express.js的示例:

/**
 * Create an express application.
 *
 * @return {Function}
 * @api public
 */ 

这些@comments的颜色也通过Visual Studio代码进行了不同的颜色编码。

@前面的注释的目的是什么?

enter image description here

2 个答案:

答案 0 :(得分:2)

这些是JSDoc条评论。当您在IDE中悬停或使用函数时,它们对于解释函数的作用,函数需要的参数和类型以及输出的结果很有用。

例如,在VSCode中,此代码: enter image description here 将产生此工具提示: enter image description here

答案 1 :(得分:1)

它称为JSDoc,它是可以在JavaScript文件中使用的自动生成的文档(以注释的形式)。

它与许多IDE(集成开发接口)(例如VSCode)交互,并且对于显示类型注释也很有用。这是一个带类型注释的函数:

/**
 * Represents a person
 * @constructor
 * @param {string} name - The name of the person
 * @param {number} age - The age of the person
 */
function Person(name, age) {
    this.name = name;
    this.age = age;
}

如您所见,JSDoc文档位于其描述的功能之上,并且知道:

  • 该功能代表一个人
  • 该函数是构造函数(@constructor
  • 该函数采用类型为@param的参数(string),名称为name,代表人的名字。
  • 该函数采用类型为@param的参数(number),名称为age,代表人的年龄。

从这个意义上讲,它有点像TypeScript-它使用类型注释(除了因为它们只是注释而已,所以它没有像TypeScript编译器那样强制执行)。