如何记录可以是类型 a、b、c、n 之一的参数

How to document params that can be one of type a, b, c, n

我一直在寻找一种在 js 中对此进行记录的方法:

function foo(param1: 'opt1' | 'opt2') { ... }

但一无所获,因为我不知道如何搜索它,也没有找到任何与我想在 JSDoc 中执行的操作相似的示例

我试过:

/**
* @param {string} param1 - Receives either 'opt1' | 'opt2'
*/
function foo(param1) { ... };

但我认为会有更好的方法来指定 param1 接收的字符串是 'these' 还是 'that'。另一种解决方案不仅仅是在参数描述中放入您可以作为值传递的内容,如我的示例所示。

如果是字符串,您可以用这种方式记录您的函数:

/**
* @param {('opt1' | 'opt2')} param1
*/
function foo(param1) { };

使用同样的方法你也可以处理整数值

/**
* @param {(1 | 2)} param1
*/
function foo(param1) { };

这将允许编辑使用如下记录的值提出建议