Auparavant, j'ai toujours documenté mes paramètres d'objet comme suit:
/**
* Description of the function
*
* @param {Object} config - The configuration
* @param {String} config.foo
* @param {Boolean} [config.bar] - Optional value
* @return {String}
*/
function doSomething (config = {}) {
const { foo, bar } = config;
console.log(foo, bar);
// do something
}
Mais je ne sais pas quelle est la meilleure approche avec le paramètre de fonction déstructuré. Dois-je simplement ignorer l'objet, le définir d'une manière ou d'une autre ou quelle est la meilleure façon de le documenter?
/**
* Description of the function
*
* @param {String} foo
* @param {Boolean} [bar] - Optional value
* @return {String}
*/
function doSomething ({ foo, bar } = {}) {
console.log(foo, bar);
// do something
}
J'ai l'impression que mon approche ci-dessus ne montre pas clairement que la fonction attend un object
paramètre différent et non deux.
Une autre façon de penser serait de l'utiliser @typedef
, mais cela pourrait finir par être un énorme gâchis (en particulier dans un fichier plus volumineux avec de nombreuses méthodes)?
/**
* @typedef {Object} doSomethingConfiguration
* @property {String} foo
* @property {Boolean} [bar] - Optional value
*/
/**
* Description of the function
*
* @param {doSomethingConfiguration}
* @return {String}
*/
function doSomething ({ foo, bar } = {}) {
console.log(foo, bar);
// do something
}
config
dans votre code ou s'il a un nom du tout.