JSDoc 注释 和 // 的区别。分别用在什么场景

Posted on 2024-02-14 21:21  陈小鑫  阅读(18)  评论(0编辑  收藏  举报

JSDoc 注释和 `//` 注释在 JavaScript 中都用于添加代码说明,但它们的用途和格式有所不同,适用于不同的场景。

### JSDoc 注释

JSDoc 是一种标记语言,用于为 JavaScript 代码添加文档注释。它允许你使用特殊的标签(如 `@param`、`@return`)来描述函数的参数、返回值、类、和其他重要信息。JSDoc 注释通常被写在函数声明或者类声明之前,用 `/** ... */` 包围。

**用途:**

- **文档生成:** 可以使用 JSDoc 工具从这些注释中自动生成文档,便于开发者理解和使用 API。
- **代码提示和类型检查:** 一些集成开发环境(IDE)和代码编辑器(如 Visual Studio Code)可以解析 JSDoc 注释来提供代码自动完成、签名信息和类型检查等功能。

**场景:**

- 描述函数、方法的参数、返回类型。
- 注释类、构造函数、属性、事件。
- 提供模块或库的整体描述和用法。

**示例:**

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

### `//` 注释

`//` 用于添加单行注释,而 `/* ... */` 用于多行注释(不是 JSDoc)。这些注释用于代码内部,解释某些复杂的逻辑、做临时标记、或者说明某段代码为什么要以特定的方式实现。

**用途:**

- **代码解释:** 为代码逻辑或复杂的操作提供解释和理由。
- **开发备注:** 添加待办事项(TODOs)、警告(FIXMEs)或其他开发者备注。
- **临时代码禁用:** 快速注释掉代码段进行测试。

**场景:**

- 解释复杂算法或逻辑决策。
- 提供实现细节的额外信息。
- 标记待优化或修复的代码部分。

**示例:**

```javascript
// 计算 x 的平方,因为我们后面需要用到这个值
const xSquared = x * x;
```

### 总结

- **JSDoc 注释**更适合于文档化和描述整个函数、类或模块的接口和行为,便于生成文档和在开发环境中提供辅助。
- **`//` 和 `/* ... */` 注释**更便于代码内部的简短说明,解释某段代码的作用或标记特定的开发备注。

根据你的具体需求选择合适的注释方式,可以提高代码的可读性和维护性。