我希望在嵌套对象中有一个带有默认参数的函数,并且我希望能够调用它 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/