Comment déstructurer l'argument d'option avec toutes les valeurs par défaut dans ES6?

J'utilise les fonctions ES6 avec le compilateur babel. J'ai une fonction qui prend l'objet option comme argument:

function myFunction({ option1 = true, option2 = 'whatever' }) { console.log(option1, option2); // do something... } 

Quand je l'appelle, la déstructuration se produit et tout fonctionne bien. Je veux appeler avec les options par défaut la plupart du temps, alors je fais:

 myFunction({}); // true 'whatever' 

Mais il semble étrange. Il serait beaucoup plus propre, appelez simplement:

 myFunction(); // TypeError: Cannot read property 'option1' of undefined 

C'est possible?

    Oui, il vous suffit de fournir une valeur par défaut pour l' argument complet:

     function myFunction({option1 = true, option2 = 'whatever'} = {}) { // ^^^^ console.log(option1, option2); // do something... }