kieran-w
10/18/2017 - 10:23 PM

JSDOC cheat sheet

/** Functions **/

/*
 * @param {string} n - A string param
 * @return {string} A good string
 *
 * @throws {FooException}
 * @private
 * @deprecated
 * @see
 *
 * @function
 * @class
 */

function foo(n) { return n }

/** Types **/

/**
 * @param {string=} n - Optional param
 * @param {string} [n] - Optional param
 * @param {(string|number)} n - Multiple types
 * @param {*} n - Any type
 * @param {...string} n - Repeatable arguments
 * @param {string} [n="hi"] - Optional param with default
 * @param {string[]} n - An 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) {
}

/** Renaming **/

/*
 * @alias Foo.bar
 * @name Foo.bar
 */