JSDoc 是一个 JavaScript 文档工具,允许您向代码添加类型化和结构化注释。与 Java 的 JavaDoc 类似,JSDoc 不仅可以帮助记录代码,还可以通过 Visual Studio Code 等现代编辑器中的自动完成和类型信息来改善开发体验。
JSDoc 注释以 /**并结束于*/:
开头
/** * Calcula el área de un rectángulo. * @param {number} ancho - El ancho del rectángulo * @param {number} alto - El alto del rectángulo * @returns {number} El área del rectángulo */ function calcularArea(ancho, alto) { return ancho * alto; }
记录函数的参数:
/** * @param {string} nombre - Nombre del usuario * @param {number} [edad] - Edad del usuario (opcional) * @param {Object} opciones - Opciones de configuración * @param {boolean} opciones.activo - Estado del usuario * @param {string} opciones.rol - Rol del usuario */ function crearUsuario(nombre, edad, opciones) { // Implementación }
指定返回值:
/** * @returns {Promise<User>} Promesa que resuelve con los datos del usuario */ async function obtenerUsuario() { // Implementación }
定义自定义类型:
/** * @typedef {Object} Usuario * @property {string} id - ID único del usuario * @property {string} nombre - Nombre completo * @property {number} edad - Edad del usuario * @property {string[]} roles - Lista de roles asignados */ /** * @param {Usuario} usuario * @returns {boolean} */ function validarUsuario(usuario) { // Implementación }
定义回调函数的类型:
/** * @callback ValidatorCallback * @param {string} valor - Valor a validar * @returns {boolean} Resultado de la validación */ /** * @param {string} dato * @param {ValidatorCallback} validador */ function procesarDato(dato, validador) { if (validador(dato)) { // Procesar dato } }
/** * @param {Array<string>} nombres - Lista de nombres * @param {Object.<string, number>} edades - Mapa de nombres a edades */ function procesarDatos(nombres, edades) { // Implementación }
/** * @param {string|number} id - ID que puede ser string o número * @param {?string} descripcion - Descripción opcional (puede ser null) */ function buscarElemento(id, descripcion) { // Implementación }
/** * Representa un vehículo genérico. * @class */ class Vehiculo { /** * Crea una instancia de Vehiculo. * @param {string} marca - Marca del vehículo * @param {string} modelo - Modelo del vehículo * @param {number} año - Año de fabricación */ constructor(marca, modelo, año) { this.marca = marca; this.modelo = modelo; this.año = año; } /** * Calcula la edad del vehículo. * @returns {number} Edad en años */ obtenerEdad() { return new Date().getFullYear() - this.año; } }
在项目的根目录中创建一个 jsconfig.json 文件:
{ "compilerOptions": { "checkJs": true, "strictNullChecks": true, "strictFunctionTypes": true }, "exclude": ["node_modules", "dist"] }
npm install -g jsdoc
创建 jsdoc.json 文件:
/** * Calcula el área de un rectángulo. * @param {number} ancho - El ancho del rectángulo * @param {number} alto - El alto del rectángulo * @returns {number} El área del rectángulo */ function calcularArea(ancho, alto) { return ancho * alto; }
/** * @param {string} nombre - Nombre del usuario * @param {number} [edad] - Edad del usuario (opcional) * @param {Object} opciones - Opciones de configuración * @param {boolean} opciones.activo - Estado del usuario * @param {string} opciones.rol - Rol del usuario */ function crearUsuario(nombre, edad, opciones) { // Implementación }
/** * @returns {Promise<User>} Promesa que resuelve con los datos del usuario */ async function obtenerUsuario() { // Implementación }
/** * @typedef {Object} Usuario * @property {string} id - ID único del usuario * @property {string} nombre - Nombre completo * @property {number} edad - Edad del usuario * @property {string[]} roles - Lista de roles asignados */ /** * @param {Usuario} usuario * @returns {boolean} */ function validarUsuario(usuario) { // Implementación }
/** * @callback ValidatorCallback * @param {string} valor - Valor a validar * @returns {boolean} Resultado de la validación */ /** * @param {string} dato * @param {ValidatorCallback} validador */ function procesarDato(dato, validador) { if (validador(dato)) { // Procesar dato } }
JSDoc 是一个强大的工具,可以显着提高 JavaScript 代码的质量和可维护性。借助正确的 IDE 支持和文档生成工具,您可以创建更强大且可维护的代码库。
以上是JSDoc:记录 JavaScript 代码的权威指南的详细内容。更多信息请关注PHP中文网其他相关文章!