默认参数

ES6 函数参数在未传值或传 undefined 时自动使用默认值。

#type / concept #status / growing #resource / javascript #resource / ecmascript

[!info] related notes

默认参数

一句话定义

默认参数允许你在函数签名里直接写参数默认值,调用时如果参数是 undefined,就使用默认值。

核心内容

基本用法

function greet(name = 'world') {
  return `hello ${name}`
}

只对 undefined 生效

greet()          // hello world
greet(undefined) // hello world
greet(null)      // hello null

默认值可以是表达式

function sum(a, b = a + 1) {
  return a + b
}

默认值会在参数求值阶段执行,所以可以引用前面的参数。

边界与易混淆点

  • null 不会触发默认值,只有 undefined
  • 默认参数会影响 function.length 的统计
  • 默认参数和解构参数经常一起出现

最短记忆方式

  • undefined 才触发默认值
  • 默认值可以写表达式
  • 常和解构参数一起用
创建于 2026/4/7 更新于 2026/5/27