ES6 Oggetti che distruggono i parametri di default

Sto cercando di capire se esiste un modo per utilizzare la destrutturazione degli oggetti dei parametri predefiniti senza preoccuparsi della definizione parziale dell’object. Considera quanto segue:

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

Quando chiamo questo con {a: "qux"} , per esempio, vedo qux undefined nella console quando quello che voglio veramente è la qux bar . C’è un modo per ottenere questo senza controllare manualmente tutte le proprietà dell’object?

Sì. È ansible utilizzare “valori predefiniti” anche in destrutturazione:

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