javascript - 我可以将 typescript 实用程序类型与 jsdoc 一起使用吗?

标签 javascript node.js typescript visual-studio-code jsdoc

当我在 vscode 中使用 jsdoc 时。我发现我可以使用 typescript 实用程序类型。 例如:

/**
 * Func 1
 * @param {number} x 
 */
function func1(x) {
    return [x, x]
}

/**
 * Func 2
 * @param {ReturnType<func1>} x  // Here !
 */
function func2(x) {
    return x[0];
}

所以我想知道这是否是jsodc的正确用法。 如果有办法创建我自己的类型转换器,例如创建一个来解开 Promise 解析类型。

最佳答案

创建新的类型转换器来打开 promise :

/**
 * @template T
 * @typedef  {T extends Promise<infer Value> ? Value : T} PromiseValue
 */

或者使用 type-fest :

/**
 * @template T
 * @typedef {import('type-fest').PromiseValue<T>} PromiseValue 
 */

关于javascript - 我可以将 typescript 实用程序类型与 jsdoc 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60893856/

相关文章:

javascript - 如果我打算使用 Node,那么直接使用像 Zappa 这样的 CoffeeScript 框架是错误的吗?

node.js - 如何从命令行运行 TypeScript 文件?

angular - Ionic 2 - 是否可以使用 poptoRoot 函数提供 navParams ?

javascript - 在 Three.js 中绘制圆弧

node.js - 无法使用 node.js v0.10.18 @ Windows 7 64Bit 解密

javascript - 通过索引访问数组元素的问题

angular - 在路由解析器中调用嵌套的 http 返回 Observable 而不是数据

javascript - 使用 JS 更改 g 组中 SVG 元素的样式

javascript - 防止 KeyboardAvoidingView 导致内容重叠(React Native)?

javascript - jQuery 显示/隐藏带有按名称选择选项的 div