首页 > 解决方案 > 如何处理多参数函数中的嵌套默认值

问题描述

假设我有一个带有两个参数的函数,name其中options选项是对象,我只想为某些键设置默认值。如果它是一个参数的函数,感谢解构一个可以做这样的事情

function myFunction({
  name = 'name',
  options: { firstOption = "first", secondOption = "second" } = {},
} = {}) {
  console.log(name);
  console.log(firstOption);
  console.log(secondOption);
}

但是如果我想myFunction取两个参数怎么办?方法如下:

function myFunction(name, options = {firstOption : 'first', secondOption : 'second' }) {
  console.log(name);
  console.log(options.firstOption);
  console.log(options.secondOption);
}

行不通,我想myFunction('name', {firstOption : 'anotherFirstOption '})没有默认值options.secondOptions。当然,我可以通过options.secondOption = options.secondOption || 'second'但我正在寻找函数定义级别的解决方案来实现我想要修改函数体的内容。可能吗 ?

标签: javascriptdestructuring

解决方案


推荐阅读