JS函数参数默认值可通过ES6语法设置,如function greet(name = "游客", age = 18);JSDoc用@param {type} [name=default]标注,默认值需与代码一致,提升可读性、支持智能提示并便于维护。

在JavaScript中,函数参数的默认值可以通过ES6语法直接定义,而JS注解(如JSDoc)则用于为开发工具和团队提供类型提示与文档说明。虽然JS本身是动态类型语言,但通过JSDoc可以模拟静态类型的标注方式,提升代码可读性和维护性。
JS函数参数默认值的基本写法
ES6支持在函数定义时直接设置参数默认值:
function greet(name = "游客", age = 18) {console.log(`你好,${name},你今年${age}岁。`);
}
上述代码中,name 和 age 都有默认值。如果调用函数时未传参,就会使用这些默认值。
JSDoc中如何标注带默认值的参数
JSDoc通过 @param 标签来描述参数类型和说明,若参数有默认值,可以用等号 = 显式标注。
/*** 欢迎用户
* @param {string} [name="游客"] - 用户名,默认为"游客"
* @param {number} [age=18] - 年龄,默认为18
*/
function greet(name = "游客", age = 18) {
console.log(`你好,${name},你今年${age}岁。`);
}
注意点:
- 方括号 [name="游客"] 表示该参数是可选的,并且默认值为“游客”
- {string} 定义类型,有助于IDE进行类型推断和错误检查
- 即使不写方括号,加上默认值后参数自然就是可选的
使用JSDoc的好处
尽管JavaScript运行时不依赖注解,但JSDoc能带来实际帮助:
- 增强代码可读性,让其他开发者快速理解参数用途和默认行为
- 配合VS Code、WebStorm等编辑器实现智能提示和自动补全
- 与TypeScript工具链兼容,便于后期迁移或类型检查
- 生成API文档,适合大型项目维护
常见注意事项
使用默认值和JSDoc标注时需留意以下细节:
- 实际默认值必须与JSDoc中标注的一致,避免误导
- 对象或数组的默认值建议用 @example 补充说明
- 复杂类型可用 {Object} 配合 @property 进一步描述结构
基本上就这些。合理使用JSDoc标注函数参数默认值,能让JS代码更清晰、更健壮,尤其在团队协作或长期维护项目中作用明显。










