如何在 ecmascript 6 中使用默认值解构

How to destructuring with default value in ecmascript 6

如何使用默认参数进行析构?

foo function({data, someOptional = 'default'}){
}

如何使用 ES6 的那些特性?

您提到调用可能是:

  • foo({data:[123]})
  • foo({filterBy:'else'})

在第二个中,您没有传递 data,这在您声明功能的方式中不是可选的。

如果 data 也是可选的,你应该这样声明你的函数(指定 data 的默认值):

function foo({data=[], someOptional='default'}){}

这样,您就可以拨打您提到的电话了。

不过,如果您根本不想传递 任何参数 并依赖于默认参数,您应该这样声明:

function foo({data=[], someOptional='default'} = {}){}

这样你甚至可以拨打这样的电话:foo()