You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript多行注释中的@符号有什么作用?

那些@param/@returns不是JavaScript语法,是JSDoc注释!

你观察得很仔细——这些带@符号的标签完全不是JavaScript原生语法,它们属于JSDoc,一套专门为JavaScript设计的结构化文档注释规范。下面给你拆解一下背后的原理:

1. 本质还是注释,JS引擎完全忽略

从语法层面来说,这些@开头的内容都在/** ... */的多行注释块里,JavaScript引擎执行代码时会直接跳过整个注释块,不会对代码逻辑产生任何影响。你在Git或编辑器里看到它们被特殊高亮,是因为主流代码编辑器(VS Code、WebStorm等)和Git的语法高亮工具都内置了JSDoc的识别规则,会把这些标签单独着色,让注释的结构更清晰,看起来不像普通注释而已。

2. 它们的实际功能:服务于工具链和开发者

虽然JS引擎不识别,但这些标签是给开发者和开发工具看的,有非常实用的作用:

  • 编辑器智能提示:当你在代码里调用isNodeList函数时,编辑器会读取@param和@returns的信息,自动弹出提示:告诉你需要传入任意类型的参数,返回值是布尔值,大幅提升开发效率。
  • 自动生成API文档:用JSDoc工具(比如官方的jsdoc-cli)扫描你的代码,可以自动生成格式化的HTML/Markdown API文档,不用手动写函数说明文档。
  • 静态类型校验:配合TypeScript、ESLint的类型检查插件,JSDoc标签可以充当类型提示,提前发现参数类型不匹配的问题,比如你传了一个字符串给需要节点的函数,工具会给出警告。

结合你的代码例子来看

你贴的这段代码里:

  • @param {*} val:说明函数接受一个任意类型的参数val
  • @returns {Boolean}:说明函数的返回值是布尔类型

这些信息既让其他开发者能快速理解函数的用法,也能让工具提供更智能的辅助。

内容的提问来源于stack exchange,提问作者yoursweater

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:49:32