`function(*=)` 在 JSDoc 风格的代码注释中意味着什么?
What does `function(*=)` imply in a JSDoc-style code comment?
我正在使用 JSDoc 样式编写一些代码注释,想知道 *=
在 WebStorm 生成的 @returns {function(*=): *}
中意味着什么。
我尝试搜索 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
}
我想知道 *=
在 @returns {function(*=): *}
中意味着什么。
见底部编辑!!
在 WebStorm 中用一个小片段测试它似乎表明 *=
意味着参数是 不是 可选的并且可以是 *
的任何类型表示该参数是任意类型和可选的。请参阅以下示例,其中包含从 WebStorm 生成的 jsdoc:
/**
*
* @param createProps
* @returns {function(*=, *): void}
*/
export function a(createProps) {
return (callback, callback2) => console.log(callback);
}
如您所见,我们只使用了第一个参数 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
可选参数
An optional parameter named foo.
@param {number} [foo]
// or:
@param {number=} foo
An optional parameter foo with default value 1.
@param {number} [foo=1]
编辑: 文档表明 =
意味着 optional parameter
但 webstorm 生成它具有相反的含义。它要么被错误记录,要么 WebStorm 做错了。我已经在 WebStorm 2018.1 中测试过了
构建 #WS-181.4203.535,构建于 2018 年 3 月 22 日
我正在使用 JSDoc 样式编写一些代码注释,想知道 *=
在 WebStorm 生成的 @returns {function(*=): *}
中意味着什么。
我尝试搜索 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
}
我想知道 *=
在 @returns {function(*=): *}
中意味着什么。
见底部编辑!!
在 WebStorm 中用一个小片段测试它似乎表明 *=
意味着参数是 不是 可选的并且可以是 *
的任何类型表示该参数是任意类型和可选的。请参阅以下示例,其中包含从 WebStorm 生成的 jsdoc:
/**
*
* @param createProps
* @returns {function(*=, *): void}
*/
export function a(createProps) {
return (callback, callback2) => console.log(callback);
}
如您所见,我们只使用了第一个参数 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
可选参数
An optional parameter named foo.
@param {number} [foo]
// or:
@param {number=} foo
An optional parameter foo with default value 1.
@param {number} [foo=1]
编辑: 文档表明 =
意味着 optional parameter
但 webstorm 生成它具有相反的含义。它要么被错误记录,要么 WebStorm 做错了。我已经在 WebStorm 2018.1 中测试过了
构建 #WS-181.4203.535,构建于 2018 年 3 月 22 日