ES6 对象解构默认参数

2022-08-30 05:42:26

我试图弄清楚是否有一种方法可以使用默认参数的对象解构,而不必担心对象被部分定义。请考虑以下事项:

(function test({a, b} = {a: "foo", b: "bar"}) {
  console.log(a + " " + b);
})();

例如,当我用 调用它时,我会在控制台中看到我真正想要的是 。有没有办法在不手动检查所有对象属性的情况下实现这一点?{a: "qux"}qux undefinedqux bar


答案 1

是的。您也可以在解构中使用“默认值”:

(function test({a = "foo", b = "bar"} = {}) {
  console.log(a + " " + b);
})();

这不仅限于函数参数,而且适用于每个析构表达式。


答案 2