JSDOC 其他类型参考键

问题描述 投票:0回答:1

如何在 @type 或 @typedef 中引用另一个对象的键?

/**
 * @typedef {{name: {name: string}}} moo
 * @typedef {{name: moo.name}} moo2
 */

我希望 vscode 能够将 moo2 解析为具有结构

{name: {name: string}}
,但事实并非如此。

visual-studio-code jsdoc
1个回答
0
投票

您必须使用括号表示法:

/**
 * @typedef {{ name: moo["name"] }} moo2
 */

如果你使用TS风格的JSDoc并且需要引用同名属性,你也可以使用

Pick
:

/**
 * @typedef {Pick<moo, "name">} moo2 -> { name: { name: string }}
 */
© www.soinside.com 2019 - 2024. All rights reserved.