JSDoc类型等于数组成员

时间:2014-05-21 12:23:54

标签: javascript jsdoc

说我有一个字符串数组。

/** @type Array.<string> */
var possibleValues = ['a','b','c','d'];

我有一个接受字符串的函数,但我只希望它等于possibleValues的其中一个成员。

/**
 * It does nothing.
 * @param {string} input One of the members of `possibleValues`.
 * @returns {string} Same as your input, useless... or is it?
 */
function nothing(input) { return input; }

JSDoc 3中有没有办法我可以明确地将input参数的类型设置为possibleValues的某个值?

最好我想引用原始数组,而不仅仅是在评论中列出其成员,因为我可能会重复使用它,以后可能会更改。

1 个答案:

答案 0 :(得分:1)

我会使用@enum

/**
 * @readonly
 * @enum {string}
 */
var possibleValues = {
    A: 'a',
    B: 'b',
    C: 'c',
    D: 'd'
};

/**
 * It does nothing.
 * @param {possibleValues} input Something descriptive...
 * @returns {string} Same as your input, useless... or is it?
 */
function nothing(input) { return input; }