javascript - 如何获取独立于变量名的 JavaScript 解构参数?

标签 javascript

希望根据参数制定但定义默认值

在我寻求具有解构的自记录代码的过程中,但很干巴巴地想要这样做......

async function shampoo({ lather = true, rinse = true, repeat = 2 } = {}) {
  await api.dogWasherMachine(magicalArguments) // ???
  // don't want to have to do this:
  // api.dogWasherMachine({ lather, rinse, repeat })
  // currenty arguments is {} and actual input is defined
}

如何获得这些已定义的神奇参数?

参数没有定义默认输入,但我该如何做到这一点?

最佳答案

不可能单独在参数中完成此操作 - 解构必须将每个属性提取到一个独立的命名变量中,而不留下对原始对象的引用。您必须使用另一条语句来完成此操作,例如:

async function shampoo(param = {}) {
  const defaultObj = {
    lather: true,
    rinse: true,
    repeat: 2
  };
  await api.dogWasherMachine({ ...defaultObj, ...param });
}

关于javascript - 如何获取独立于变量名的 JavaScript 解构参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56782483/

相关文章:

javascript - 如何在没有帖子的情况下切换表单的 'visible' 属性

javascript - n 列表项 `inline-block` 后的 CSS 换行符

javascript - 使用 ajax 进行黑客攻击 html 编码

javascript - HTML5 Canvas 中的文字换行

javascript - 将 json 保存在 javascript 数组中

javascript - 谷歌地图 v3 : can you set a map by bounds only?

javascript - 向下滚动加载数据以进行 Bootstrap 模式(延迟加载)

javascript - 如何仅在事件簿中的第一张幻灯片后显示后退按钮

javascript - 如何将参数发送到 npm 测试

javascript - React 功能组件默认 props 与默认参数