📜  如何在 jsdoc 中描述“对象”参数?

📅  最后修改于: 2022-05-13 01:56:40.532000             🧑  作者: Mango

如何在 jsdoc 中描述“对象”参数?

在 JSDoc 中有多种不同的方式来描述“对象”参数。在本文中,我们将研究 4 种不同的方式,每种方式都有自己的用途。

  1. 要记录具有指定属性的对象:

    句法:

    /**
     * @param {{a: string, b: number}} Obj description
     */
    

    对于仅用作给定方法的参数而不需要每个属性的进一步文档的对象,此语法是一种很好的做法。这可以用于@returns

    例子:

    
      
    
        
            GeeksforGeeks
        
    
      
    
        
            

              GeeksforGeeks       

                          
      

    输出:
    前:

    后:

  2. 要记录具有指定属性的对象(类型 2):

    句法:

    /**
     * @param {Object} Obj  Description
     * @param {string} Obj.a  Description
     * @param {number} Obj.b  Description
     */
    

    对于仅用作给定方法的参数并且需要进一步记录每个属性的对象,此语法是一种很好的做法。这不能用于@returns

    例子:

    
      
    
        
            GeeksforGeeks
        
    
      
    
        
            

              GeeksforGeeks       

                          
      

    输出:
    前:

    后:

  3. 要记录将在源中多次使用的对象:
    @typedef在这种情况下很有用。一旦在源代码中定义了类型,您就可以将其用作 JSDoc 标记的类型,例如使用type@param@returns

    句法:

    /**
     * @typedef {Object} Person
     * @property {number} age Length of time the person has lived
     * @property {string} name The word by which the person is addressed
     */
    

    也可以在@param 标签中使用:

    句法:

    /**
     * @param {Person} p - Description of p
     */
    

    也可以在@returns 标签中使用:

    句法:

    /**
     * @returns {Person} Description
     */
    

    例子:

    
    
      
    
        
            

              GeeksforGeeks       

                     

                   
         

    输出:
    前:

    后:

  4. 要记录具有相同类型值的对象:

    句法:

    /**
     * @param {Object.} Dict
     */
    

    对于值都是相同类型的对象,此语法是一种很好的做法。在这种情况下,第一种类型即字符串描述了始终保持为字符串类型的 JavaScript 属性()的类型。第二种类型即数字描述了值的类型,可以是任何类型。

    可以用于@returns