¿Cómo puedo documentar un argumento que es una función en sí misma?
Ejemplo:
/** * * @param secondFunction // I want to say this should be a function that accepts a number */ function firstFunction(secondFunction) { const a = 1; secondFunction(a); }¡Salud!
Puede definir el tipo del parámetro para que sea la firma de la función que espera que se pase:
/** Calls second function with 1 * @param {(a:number)=>void} secondFunction */ function firstFunction(secondFunction) { const a = 1; secondFunction(a); };De la documentación de JSDoc :
Si un parámetro acepta una función de devolución de llamada, puede usar la etiqueta @callback para definir un tipo de devolución de llamada y luego incluir el tipo de devolución de llamada en la etiqueta @param .
Parámetros que aceptan una devolución de llamada
/** * This callback type is called `secondFunction` and is displayed as a global symbol. * * @callback secondFunction * @param {number} a */ /** * executes secondFunction * @param {secondFunction} secondFunction - The callback */ function firstFunction(secondFunction) { const a = 1; secondFunction(a); };