The @param tag provides the name, type, and description of a function parameter.
The @param tag requires you to specify the name of the parameter you are documenting. You can also
include the parameter's type, enclosed in curly brackets, and a description of the parameter.
JSDoc namepath to another symbol in your code. If you have written documentation for the
symbol at that namepath, JSDoc will automatically link to the documentation for that symbol. You can
also use a type expression to indicate, for example, that a parameter is not nullable or can accept
any type; see the @type tag documentation for details.
If you provide a description, you can make the JSDoc comment more readable by inserting a hyphen
before the description. Be sure to include a space before and after the hyphen.
Names, types, and descriptions
The following examples show how to include names, types, and descriptions in a @param tag.
You can add a hyphen before the description to make it more readable. Be sure to include a space
before and after the hyphen.
Parameters with properties
If a parameter is expected to have a specific property, you can document that property by providing
an additional @param tag. For example, if an employee parameter is expected to have name and
department properties, you can document it as follows:
If a parameter is destructured without an explicit name, you can give the object an appropriate one and
document its properties.
You can also combine this syntax with JSDoc's syntax for array parameters. For example, if multiple
employees can be assigned to a project:
Optional parameters and default values
The following examples show how to indicate that a parameter is optional and has a default value.
Multiple types and repeatable parameters
The following examples show how to use type expressions to indicate that a parameter can accept
multiple types (or any type), and that a parameter can be provided more than once. See the
@type tag documentation for details about the type expressions that JSDoc supports.
If a parameter accepts a callback function, you can use the @callback tag to
define a callback type, then include the callback type in the @param tag.