14

我有一个看起来像这样的数组:

[{
    "name": "c917379",
    "email": "jim@bmw.de"

},
{
    "name": "c917389",
    "email": "jane@bmw.de"
}]

它是一个具有多个重复字段的任意长度的数组(为了清楚起见,我将其简化为两个字段)。这被传递到 JavaScript 方法中。

/**
 * @param {?}  data
 */
update:  function(data) {...}

我想知道您将如何在 JSDoc 中记录这一点。IE。您将如何记录问号所在的类型?

4

4 回答 4

28

JSDoc中,有一个示例用于具有 type 成员的数组MyClass。它看起来像这样:

@param {Array.<MyClass>}

那么你也可以这样做:

@param {Array.<Object>}

然后这也是有道理的:

@param {Array.<{name:string, email:string}>}
于 2014-04-01T13:24:43.923 回答
23

我刚刚想出了我的问题的答案:

它看起来像这样:

/**
 *
 * @param {{name:string, email:string}[]}  
 *
 */
于 2013-06-18T08:40:38.990 回答
10

由于您的对象内容本质上没有什么“特殊”,我相信您只需将其声明为:

@param {Object[]} data

另一种方法是为您的“类”声明一个“适当的”构造函数,然后Object用该函数名替换。

这种封装也可能有助于代码的其他部分;-)

于 2013-06-18T08:36:32.913 回答
2

由于这是出现在 Google 上的第一个问题,我认为这对展示如何记录二维数组很有用。

默认的 sintax 不起作用,它显示为“JsDoc sinxtax 错误”:

/**
 * @param {Object[][]} a two dimensional array of object
 * */

发出二维数组信号的正确方法是:

/**
 * @param {Array.<Array.<Object>>} a two dimensional array of object
 * */
于 2019-07-08T14:13:57.710 回答