JavaScript默认参数在ES6+中通过“=”赋值实现,仅当参数为undefined时生效;支持任意表达式,可与解构赋值结合;旧环境需用typeof等安全判断模拟。

JavaScript 默认参数是指在函数定义时为参数指定的初始值,当调用函数时未传入该参数(或传入 undefined),就会自动使用这个默认值。
ES6+ 中使用默认参数语法
现代 JavaScript(ES6 起)支持在函数参数列表中直接用 = 赋值设置默认值,写法简洁且语义清晰:
- 默认值只在参数为
undefined时生效,null、false、0、空字符串等“falsy”值不会触发默认值 - 默认值可以是任意表达式,包括函数调用、变量、甚至其他参数(但要注意顺序:只能引用前面已声明的参数)
示例:
function greet(name = '陌生人', greeting = '你好') {
return `${greeting},${name}!`;
}
greet(); // "你好,陌生人!"
greet('小明'); // "你好,小明!"
greet('小明', '嗨'); // "嗨,小明!"
greet('小明', undefined); // "你好,小明!"
greet(null, '哈喽'); // "哈喽,null!" ← null 不会触发默认值
登录后复制
兼容旧环境的默认值写法(ES5 及更早)
在不支持默认参数的老版本浏览器或环境中,常用以下两种方式模拟:
立即学习“Java免费学习笔记(深入)”;
-
逻辑运算符
||:简单但有风险 —— 所有 falsy 值(如0、''、false)都会被覆盖 -
三元运算符或
typeof判断:更安全,只在undefined时赋默认值
推荐写法(安全):
标签: javascript es6 java 浏览器
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~