JSDoc:定义具有字符串类型的参数的允许值

时间:2017-12-22 21:29:09

标签: javascript jsdoc3

我正在使用JSDoc,我想将信息添加到我的文档中,该参数应该具有值。

在此示例中,您可以看到参数operator具有字符串类型。但此外,只有openclose作为参数的有效值

/**
 * Description
 * @param {string='open','close'}  operator
 */

添加此信息的正确语法是什么?

2 个答案:

答案 0 :(得分:4)

使用类型联合|

/**
 * Description
 * @param {('open'|'close')}  operator
 */

答案 1 :(得分:0)

从设计角度来看,如果您的婴儿车仅限于选项列表,您应该为可重用性创建Enum个选项。有关详细信息,请参阅此答案:https://stackoverflow.com/a/19322623/5633515

或者,您可以创建包装函数,如

_changeState(state){...} // assumed private
close(){ _changeState('close')}
open(){_changeState('open')}