我正在尝试弄清楚是否有一种方法可以使用默认参数的对象解构而不必担心对象部分定义。考虑以下内容:
(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
。是否有一种方法可以在不手动检查所有对象属性的情况下实现这一点?是的,你也可以在解构中使用“defaults”:
(function test({a = "foo", b = "bar"} = {}) {
console.log(a + " " + b);
})();
这不仅限于函数参数,而是适用于每个解构表达式。
b == null ? "bar" : b
。 - Bergitest({a="foo", b="bar"})
之间的区别吗? - Yonggoo Noh