【发布时间】:2021-08-20 01:55:00
【问题描述】:
下面是一个 Typescript 函数签名 x,它接受 ABC 作为可选参数。如果传入ABC,a和b是必填字段。
async x (options: ABC = {}): Promise<string>
interface ABC {
a: string
b: number
}
JSDOC 应该是这样的
/**
* @param {ABC} [options]
* @param {string} options.a
* @param {number} options.b
* @return {Promise<string>}
*/
或者这个
/**
* @param {ABC} [options]
* @param {string} [options.a]
* @param {number} [options.b]
* @return {Promise<string>}
*/
【问题讨论】:
-
你需要JSDoc 和 Typescript吗?确定
type SomeFunc = (options?: Options) => Promise<whatever>就足够了吗? -
商业目的需要
-
您能否修复您的代码,使其成为有效的 Typescript。我当然可以猜到,但你不应该让我们这样做。例如,您缺少 function 关键字。并且默认参数的类型错误。
a和b应该是ABC的可选成员,还是应该x的 arg 具有不同的类型?
标签: javascript typescript jsdoc