/** * This is a function. * * @param {string} n - A string param * @param {string} [o] - A optional string param * @param {string} [d=DefaultValue] - A optional string param * @return {string} A good string * * @example * * foo('hello') */function foo(n, o, d) { return n}
Types
Annotation
Note
@param {string=} n
Optional
@param {string} [n]
Optional
@param {(string|number)} n
Multiple types
@param {*} n
Any type
@param {...string} n
Repeatable arguments
@param {string} [n="hi"]
Optional with default
@param {string[]} n
Array of strings
@return {Promise<string[]>} n
Promise fulfilled by array of strings
Variables
/** * @type {number} */var FOO = 1
/** * @const {number} */const FOO = 1
Typedef
/** * A song * @typedef {Object} Song * @property {string} title - The title * @property {string} artist - The artist * @property {number} year - The year */
/** * Plays a song * @param {Song} song - The {@link Song} to be played */function play(song) {}
Shorthand
/** * A song * @typedef {{title: string, artist: string, year: number}} Song */
/** * Plays a song * @param {Song} song - The {@link Song} to be played */function play(song) {}