JS函数参数默认值,参数为对象时 默认属性值

  function log(people) {
     people.age ??= 15
     console.log(people);
  }

  log({ name: 'Tom' })
  log({ name: 'Bob', age: 18 })

想达到上面同样的效果,给予形参people的age属性默认值,
请问如何在function log(people) 小括号内的people处写?

阅读 2.5k
2 个回答

这 JS 做不到。

要么在函数内用 Object.assign、展开运算符或其他方式给初值。

要么在形参那定义成解构形式的给初值。不推荐这种,你这要是有 20 个字段,形参解构了得变多长啊?

function log(people) {
  console.log(Object.assign({
    age: 15,
  }, people));
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题