如何在@type或@typedef中引用其他对象的键?VSCode解析异常求助
在JSDoc的@typedef/@type中引用另一个对象的键的方法
你直接用moo.name的写法无法被JSDoc正确解析,需要借助TypeScript的类型查询语法来实现。修改代码如下:
/** * @typedef {{name: {name: string}}} moo * @typedef {{name: typeof moo['name']}} moo2 */
这里通过typeof moo['name']来获取moo类型里name属性的具体类型,VSCode就能正确将moo2解析为{name: {name: string}}的结构。这种写法依赖VSCode内置的JavaScript语言服务对TypeScript类型语法的支持,无需额外配置即可生效。
内容的提问来源于stack exchange,提问作者Grithin
相关产品推荐
相关产品推荐

