JSDoc #

什么是 JSDoc? #

JSDoc 是一种用于 JavaScript 的文档注释标准,通过特殊的注释格式为代码添加类型信息和文档说明。它可以帮助开发者生成 API 文档、提供更好的 IDE 支持,并在不使用 TypeScript 的情况下获得类型检查能力。

核心定位 #

text
┌─────────────────────────────────────────────────────────────┐
│                         JSDoc                                │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐         │
│  │  文档生成    │  │  类型注解    │  │  IDE 支持   │         │
│  └─────────────┘  └─────────────┘  └─────────────┘         │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐         │
│  │  代码提示    │  │  类型检查    │  │  标准规范   │         │
│  └─────────────┘  └─────────────┘  └─────────────┘         │
└─────────────────────────────────────────────────────────────┘

为什么使用 JSDoc? #

优势 #

text
✅ 零成本类型支持
   - 无需编译步骤
   - 纯 JavaScript 项目可用
   - 渐进式类型化

✅ 文档即代码
   - 文档与代码同步
   - 自动生成 API 文档
   - 易于维护

✅ IDE 智能提示
   - VS Code 原生支持
   - 参数提示
   - 自动补全

✅ 类型安全
   - 配合 TypeScript 检查
   - 早期错误发现
   - 重构支持

快速开始 #

基本语法 #

javascript
/**
 * 计算两个数的和
 * @param {number} a - 第一个数
 * @param {number} b - 第二个数
 * @returns {number} 两数之和
 */
function add(a, b) {
  return a + b;
}

常用标签 #

标签 用途 示例
@param 参数说明 @param {string} name - 用户名
@returns 返回值说明 @returns {boolean} 是否成功
@type 类型定义 @type
@typedef 自定义类型 @typedef {Object} User
@callback 回调类型 @callback EventHandler
@example 使用示例 @example func()

文档结构 #

text
JSDoc 文档
├── 基础入门
│   ├── JSDoc 简介
│   ├── 基础语法
│   └── 配置文件
│
├── 标签详解
│   ├── 常用标签
│   └── 类型定义
│
└── 高级用法
    ├── 复杂类型
    └── 模块文档

与 TypeScript 配合 #

JSDoc 可以与 TypeScript 完美配合,在 JavaScript 文件中获得类型检查:

javascript
// @ts-check

/**
 * @typedef {Object} User
 * @property {number} id - 用户ID
 * @property {string} name - 用户名
 * @property {string} [email] - 邮箱(可选)
 */

/**
 * 创建用户
 * @param {string} name - 用户名
 * @returns {User} 用户对象
 */
function createUser(name) {
  return { id: Date.now(), name };
}

学习路径 #

text
入门阶段
├── JSDoc 简介
├── 基础语法
└── 配置文件

进阶阶段
├── 常用标签
└── 类型定义

高级阶段
├── 复杂类型
└── 与 TypeScript 配合

下一步 #

现在你已经了解了 JSDoc 的基本概念,接下来学习 JSDoc 简介,深入了解 JSDoc 的详细用法!

最后更新:2026-03-29