javascriptjsdocjsdoc3

jsdoc two dimensional array


I have an array of array of string and I can't figure out how to document that with JSDoc.

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

    !! Issue here !!


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

Which results in errors.

Invalid type expression "string[][]": Expected "!", "?" or "|" but "[" found.

And I don't know if I should put ? in front of the type to indicate it can be null.


Solution

  • According to what the current maintainer of jsdoc says in this issue report, as we speak jsdoc 3 cannot handle declaring multidimensional arrays by adding square brackets. You can do it like you did with Array.<string[]>, or with Array.<Array.<string>>.

    According to the issue report, version 3.3.0 will allow the notation you wanted to use.