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

JSDoc: Define allowed values of parameter which has string type

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

在这个例子中你可以看到,参数operator是字符串类型。但此外只能有 openclose 作为参数的有效值

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

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

使用类型联合 |:

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

从设计的角度来看,如果您的婴儿车仅限于一个选项列表,您应该为这些选项创建一个 Enum 以实现可重用性。有关详细信息,请参阅此答案:

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

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