如何解决只能从枚举数组中获取值的JSDoc文档参数
我已经检查了本网站上是否有可能解决我的问题的答案,但都没有涵盖我的情况。
我有一个更改颜色并带有color
参数的函数。该功能仅适用于COLORS
枚举中包含的值。
/**
* @enum ???
* or
* @typedef ???
*/
const COLORS = ['green','yellow','red','none',null];
/**
* @param {???} color color value from COLORS array
*/
function changeColor(color) {
if (!COLORS.includes(color)) return;
// ...
}
我如何正确记录a)枚举COLORS
和b)JSDoc中的函数参数color
?
编辑:看来我对enum
的理解是错误的。从外观上看,文字数组不能视为enum
。因此,如果我要坚持当前的实现方式,我还要如何明确指出color
只能是COLORS
中的值?
解决方法
基于@constant,typedef的JSDoc文档,对于constant
,您可以执行以下示例:
/** @constant
@typedef {Array} COLORS
@type {Array<?string>}
@default
*/
const COLORS = ['green','yellow','red','none',null];
PS:请注意,?
用于声明Array值可以为字符串或null。有关更多信息,请查看@type文档中的Nullable
类型。
对于Function
:
/**
* @param {?string} color - The color used,one of {@link COLORS}.
*/
function changeColor(color) {
if (!COLORS.includes(color)) return;
// ...
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。