我想记录一个函数,其返回类型取决于提供的参数:
/**
* @param {*} x A thing
* @return {????} The thing in an array
*/
function arrayOf(x) { return [x]; }
是否可以命名或以其他方式引用函数参数的实际类型,以便我可以使用它来指定返回值?
答案 0 :(得分:1)
我对另一个答案发表了评论,说我要寻找的归结为一个通用参数,该参数在JSDoc中使用@template
实现。我不知道它是否是核心JSDoc的一部分-我认为这是一个Closure扩展-但是如果您是通过TS运行JS,或者只是试图在IDE中自动完成工作,则为Typescript does recognize it。>
从该链接改编而成:
/**
* @template T
* @param {T} x - A generic parameter that flows through to the return type
* @return {T[]}
*/
function id(x) {
return [x];
}
答案 1 :(得分:0)
不知道是否有通用的表示方式 - 这需要在函数描述中指定,但可能是以下选项:
对于详细描述,可能会创建一个事物typedef
:
/**
* Thing Type
* @typedef {*} thing
*/
/**
* Returns a single element array encapsulating only the param value
* @param {thing} x A thing
* @return {thing[]} The thing in an array
*/
function arrayOf(x) { return [x]; }
其他,简单地说,
/**
* Returns a single element array encapsulating only the param value
* @param {*} x A thing
* @return {*[]} The thing in an array
*/
function arrayOf(x) { return [x]; }