2014-09-01 2 views
3

У меня есть массив массива строки, и я не могу понять, как документировать это с помощью JSDoc.jsdoc двухмерный массив

/** 
@class 
*/ 
function PostbackList() { 
    /** 
    @type {int} 
    @default 
    */ 
    this.TypeID = 0; 
    /** 
    @type {PostbackList.Field[]} 
    */ 
    this.Fields = new Array(); 
    /** 

    !! Issue here !! 


    @type {string[][]} 
    */ 
    this.Values = null; 
} 

Который приводит к ошибкам.

Недопустимое выражение типа "string [] []": Ожидаемое "!", "?" или "|" но "[" найдено.

И я не знаю, должен ли я поставить ? перед типом, чтобы указать, что он может быть пустым.

+0

Я просто попытался объединить разные синтаксисы вместе и '@type {Array. }. Но если есть способ просто использовать '[], это будет приятно узнать. –

+0

Может быть, сделать функцию, которая не имеет такого сложного API: P –

+0

Являются ли двумерные массивы устаревшими для лучшей практики? O_o –

ответ

8

В соответствии с тем, что говорит текущий поддерживающий jsdoc в этом issue report, поскольку мы говорим, что jsdoc 3 не может обрабатывать объявления многомерных массивов, добавляя квадратные скобки. Вы можете сделать это, как и с Array.<string[]>, или с Array.<Array.<string>>.

Согласно отчету о выпуске версия 3.3.0 позволит использовать обозначение, которое вы хотели использовать.