ES6解构嵌套的可选参数?

Ell*_*nce 4 javascript ecmascript-6

请考虑以下ES6代码:

function foo({name, address: {street, postcode}}) {
  console.log(name, street, postcode);
}

foo({name: 'John', address: {street: 'Foo', postcode: 1234}});
foo({name: 'Bob'});
Run Code Online (Sandbox Code Playgroud)

第一个调用按预期工作.但是,我想制作address可选(street并且postcode将会undefined)而不是抛出错误.这可能吗?

Ell*_*nce 5

我找到了解决方案:

function foo({name, address: {street, postcode} = {}}) {
  console.log(name, street, postcode);
}
Run Code Online (Sandbox Code Playgroud)