javascript - 嵌套对象中的 ES6 默认参数

标签 javascript ecmascript-6

我希望在嵌套对象中有一个带有默认参数的函数,并且我希望能够调用它 f() 或仅指定单个参数。

// A function with nested objects with default parameters:

function f({ a = 1, callback = ({ name, param } = { name: "qwe", param: 123 }) } = {}) {
    console.log("a:", a);
    console.log("callback:", callback);
}

// And I want to run it like this:

f();
f({ callback: { params: "456" } });

// But 'callback.name' becomes undefined.

最佳答案

当解构与默认参数混合时,我承认代码很难读写(尤其是当有嵌套对象时......)。

但我认为您正在尝试这样做:

function f({callback: {name = "cbFunction", params = "123"} = {}} = {}) {
  console.log(name);
  console.log(params);
}

f();
f({callback: {params: '789'}});

关于javascript - 嵌套对象中的 ES6 默认参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43895045/

相关文章:

javascript - 运行函数时禁用按钮

javascript - 弹出窗口的最佳替代方案是什么?

javascript - 我怎样才能在已经存在的indexedDB中的已经存在的objectStore中 `put`新值?

javascript - React Router 总是显示 IndexRoute

javascript - 在 Javascript 中使用变量格式化字符串模板

javascript - 在对象循环中添加延迟

javascript - Gulp webpack 仅加载 jquery 一次

javascript - Vue js 列表中的数量计数

javascript - 定义在模块中发生事件时调用的方法

javascript - 如何使用 Javascript ES6 ES2015 模块将常量直接导出/导入到导入模块命名空间?