jsdoc

JavaScript是一门动态类型的语言,虽然它具备高度灵活性,但也有着代码可读性低、缺乏类型约束的缺点。JSDoc是一种用于在JavaScript代码中生成文档的工具,它通过在代码中添加注释元信息来描述函数、类或变量,起到对类型约束等信息辅助说明的目的,这篇笔记我们介绍JSDoc的注释语法和基本使用方法。

JSDoc注释语法

这里我们介绍JSDoc的基本语法和最佳实践。

标注变量

下面例子中,我们使用JSDoc注释标注了一个变量,约束str变量为字符串类型。

/** @type {string} */
const str = "Hello, world!";

代码中,如果你对str赋值为非字符串类型,代码仍能正常运行,但如果使用支持JSDoc的IDE编辑代码,通常IDE会给出警告信息。

JSDoc的@type注释中,除了基本类型,我们也可以使用复杂类型或是指定多个类型。

/** @type {Pos} */
const pos = new Pos();
/** @type{str|number} */
let a;

此外,我们也可以添加一些除类型外的文字说明信息。

/**
 * 数字例子
 * @type {number}
 */
const num = 1;

标注函数

JSDoc注释可以标注函数的说明信息、参数类型和返回值,下面是一个例子。

/**
 * 例子函数
 * @param x {number} 加数
 * @param y {number} 被加数
 * @returns {number} 返回值
 */
function demo(x, y) {
    return x + y;
}

标注类和方法

JSDoc还可以标注类、类成员和方法的参数和返回值,下面是一个例子。

/**
 * 向量
 */
class Vector {
    /**
     * x坐标
     * @type {number}
     */
    x;

    /**
     * y坐标
     * @type {number}
     */
    y;

    /**
     * 构造函数
     * @param x {number} x坐标
     * @param y {number} y坐标
     */
    constructor(x, y) {
        this.x = x;
        this.y = y;
    }

    /**
     * 计算向量长度
     * @returns {number} 向量长度
     */
    length() {
        return Math.sqrt(this.x * this.x + this.y * this.y);
    }
}

JSDoc工具使用

我们可以使用npm命令全局安装JSDoc工具。

npm install -g jsdoc

使用JSDoc工具很简单,我们直接在包含源码的目录下运行jsdoc命令行工具即可。

jsdoc .

此外,如果只希望针对某个文件生成文档,可以使用类似jsdoc demo.js的写法。

默认情况下,相关的文档会以HTML形式输出到当前文件夹的out目录下,我们可以打开其中的index.html查看文档。

作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。