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... }