مرجع سريع

ورقة غش توثيق JSDoc 3

دليل مرجعي شامل لتعليقات التوثيق JSDoc 3: وسوم @param و @returns و @typedef و @type والأنواع العامة @template و @async وفحص الأنواع في TypeScript.

· تاريخ النشر

JSDoc هي أداة لتوليد وثائق واجهات برمجة التطبيقات وصيغة لتوضيح الأنواع في JavaScript، وتدعمها خوادم لغة TypeScript.

توثيق الدوال

/**
 * Calculates total invoice sum including tax.
 *
 * @param {number} subtotal - Net amount before tax.
 * @param {number} [taxRate=0.1] - Optional tax percentage (defaults to 10%).
 * @param {string} [currency='USD'] - Three-letter ISO currency code.
 * @returns {number} The calculated total invoice price.
 * @throws {RangeError} When subtotal is negative.
 */
function calculateTotal(subtotal, taxRate = 0.1, currency = 'USD') {
  if (subtotal < 0) throw new RangeError('Subtotal must be positive');
  return subtotal * (1 + taxRate);
}

تعريف الأنواع والأسماء المستعارة (@typedef)

/**
 * @typedef {Object} UserProfile
 * @property {number} id - Unique numeric identifier.
 * @property {string} username - User account handle.
 * @property {string} [email] - Optional contact email address.
 * @property {'admin' | 'editor' | 'member'} role - Access control role.
 */

/**
 * Loads user record from database.
 * @param {number} id
 * @returns {Promise<UserProfile>}
 */
async function getUser(id) {
  // ...
}

وسوم JSDoc الشائعة

الوسم الوصف مثال
@type {Type} يصرّح عن نوع متغير /** @type {string[]} */
@param {Type} name يوثّق معامل الدالة /** @param {HTMLElement} el */
@returns {Type} يوثّق قيمة الإرجاع /** @returns {Promise<void>} */
@async يشير إلى أن الدالة غير متزامنة /** @async */
@deprecated يحدد الرمز كمهجور أو متقادم /** @deprecated Use fetchUser() instead */
@see يربط بوثائق خارجية أو مراجع إضافية /** @see {@link https://example.com} */
@template T يصرّح عن معامل نوع عام (Generic) /** @template T @param {T} item */

المراجع

موضوعات ذات صلة