KIn*_*GcC 11 javascript jsdoc webstorm
我正在写使用JSDoc风格的一些代码注释,并想知道*=
意味着@returns {function(*=): *}
这是由WebStorm产生.
我试图搜索JSDoc wiki和usejsdoc.org,但没有结果.
以下是我的代码:
/**
* Get record data listener generator.
* @param {Function} createProps
* @returns {function(*=): *} // ** generated by webstorm **
*/
export function getRecordCustomDataListener(createProps) {
return (callback) => onRecordCustomData({ createRecordData: createProps })(callback); // `onRecordCustomData` has not default argument
}
Run Code Online (Sandbox Code Playgroud)
我想知道是什么*=
意思@returns {function(*=): *}
.
请参见底部的编辑!!
使用一个小片段在WebStorm中测试它似乎表明这*=
意味着参数不是可选的,并且可以是任何类型,其中*
指示参数是任何类型和可选的.请参阅以下示例,其中包含WebStorm生成的jsdoc:
/**
*
* @param createProps
* @returns {function(*=, *): void}
*/
export function a(createProps) {
return (callback, callback2) => console.log(callback);
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我们只使用第一个参数callback
并保持callback2
未使用状态.Webstorm为此生成适当的jsdoc.
以上英语单词中我们的例子的完整jsdoc: Return an arrow function that takes two parameters, a **not** optional first parameter that can be of any type, and an optional second parameter that can be of any type. That function returns void
文件参考:
http://usejsdoc.org/tags-type.html
可选参数
一个名为foo的可选参数.
@param {number} [foo]
// 要么:
@param {number =} foo
可选参数foo,默认值为1.
@param {number} [foo = 1]
编辑:文档表明这=
意味着,optional parameter
但webstorm生成它具有相反的意义.无论是错误记录还是WebStorm都错了.我在WebStorm 2018.1 Build#WS-181.4203.535上测试了它,它建于2018年3月22日