JavaScript默认参数在函数定义时为形参预设值,调用时传undefined或不传则启用;支持表达式和函数调用(每次重新求值),但null不触发默认值,需用??或三元运算符处理。

JavaScript 的默认参数是指在函数定义时,为形参预先指定一个值;当调用函数时没有传入对应实参(或传入 undefined),该参数就会自动使用这个预设值。它让函数更健壮,主要是因为减少了对参数存在性的手动检查,避免了因缺失参数导致的运行时错误或意外行为。
默认参数让函数调用更灵活
不用再写一堆 if (param === undefined) param = 'default' 这样的冗余逻辑。ES6 之后可以直接在参数列表里写清楚:
function greet(name = 'Guest', msg = 'Hello') { return `${msg}, ${name}!`; }- 调用
greet()→"Hello, Guest!" - 调用
greet('Alice')→"Hello, Alice!" - 调用
greet(undefined, 'Hi')→"Hi, Guest!"(undefined触发默认值)
它能防止常见错误,比如访问 undefined 属性
以前常要这样写:
function printUser(user) { console.log(user.name || 'Anonymous'); }- 但如果
user是null或根本没传,user.name就会报错Cannot read property 'name' of undefined
用默认参数配合解构,就能提前兜底:
立即学习“Java免费学习笔记(深入)”;
标签: javascript es6 java
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~