我试图弄清楚是否有一种方法可以使用默认参数的对象解构,而不必担心对象被部分定义。考虑以下:
(function test({a, b} = {a: "foo", b: "bar"}) {
console.log(a + " " + b);
})();
{a: "qux"}
例如,当我用 调用它时,我会qux undefined
在控制台中看到我真正想要的是qux bar
. 有没有办法在不手动检查对象的所有属性的情况下实现这一点?
我试图弄清楚是否有一种方法可以使用默认参数的对象解构,而不必担心对象被部分定义。考虑以下:
(function test({a, b} = {a: "foo", b: "bar"}) {
console.log(a + " " + b);
})();
{a: "qux"}
例如,当我用 调用它时,我会qux undefined
在控制台中看到我真正想要的是qux bar
. 有没有办法在不手动检查对象的所有属性的情况下实现这一点?
是的。您也可以在解构中使用“默认值”:
(function test({a = "foo", b = "bar"} = {}) {
console.log(a + " " + b);
})();
这不仅限于函数参数,而且适用于每个解构表达式。