ES6对象解析默认参数

时间:2014-10-26 21:27:18

标签: javascript ecmascript-6

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



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




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

1 个答案:

答案 0 :(得分:112)

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

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

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