我目前正在使用对象解构模式与默认参数,该答案中描述了 ES6 对象解构默认参数。
(function test({a = "foo", b = "bar"} = {}) {
console.log(a + " " + b);
})();
我希望能够在函数体中直接访问对象参数,而不必将其分配给变量并显式列出每个键。
(function test({a = "foo", b = "bar"} = {}) {
const options = {a, b};
console.log(options);
})();
我尝试给对象参数命名,但是函数失去了将缺失的键解析为默认值的能力。
(function test(options = {a = "foo", b = "bar"} = {}) {
console.log(options);
})();
当解构为命名参数时,似乎忽略了默认参数。
这是ES6规范的一部分吗?有没有办法在函数体中不需要额外的代码来实现所需的行为?
编辑: 我删除了一个多余的例子,它并没有为问题增添上下文。
function test(options = ({a = "foo", b = "bar"} = {}))
- 这不是你想要的。 - Bergi