【问题标题】:How do you add a jsdoc type to a destructured variable? (VSCode)如何将 jsdoc 类型添加到解构变量? (VS代码)
【发布时间】:2020-10-09 18:18:07
【问题描述】:

所以我有一个带有数据属性的响应对象。对于这个例子,它的数据是文本类型。我想要 data 属性,并且我想要 VSCode 识别它的类型,这样我就可以得到一些 IntelliSense 的喜爱。

const response = await someRequest();
const {data} = response;

首先我尝试:

const response = await someRequest();

/** @type {string} */
const {data} = response;

没有,那我试试:

const response = await someRequest();

const {
  /** @type {string} */
  data,
} = response;

那也没用。

那我试试:

/**
 * @typedef {Object} Response
 * @property {string} data
 */

/** @type {Response} */
const response = await someRequest();

const { data } = response;

成功了!

我不确定它有多大的不同,但我使用的是 VSCode 2020 年 9 月版(1.50 版)。

编辑:我改变了我的问题的结束方式,因为事实证明我的最后一个示例确实有效......

【问题讨论】:

  • stackoverflow.com/questions/52544065/… 链接是否回答了您的问题。
  • @Dolly 谢谢你帮我解决这个问题 :-) 所以,内联类型声明不起作用(这基本上是第二次尝试,但由于一些奇怪的怪癖,我的最后一个例子(你的例子确实涵盖)确实有效。我会接受它,但我不知道现在和昨天之间发生了什么变化......我猜它要么包含在 VSCode 的 9 月更新中,要么(更有可能)出现错误在键盘和椅子之间。

标签: javascript visual-studio-code jsdoc


【解决方案1】:
/**
 * @typedef {Object} Response
 * @property {string} data
 */

/** @type {Response} */
const response = await someRequest();

const { data } = response;

我认为这不起作用,但确实如此,所以我将其标记为答案。

感谢 Dolly 对 how to document a deconstructed variable with jsdoc 的评论。这并不完全合适,但它确实回答了我的问题。

【讨论】:

    猜你喜欢
    • 2020-04-02
    • 1970-01-01
    • 1970-01-01
    • 2010-10-12
    • 2021-11-23
    • 2021-03-09
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多