如何将 jsdoc 类型添加到解构变量中? (VSCode)

How do you add a jsdoc type to a destructured variable? (VSCode)

所以我有一个带有数据 属性 的响应对象。对于这个例子,它的数据是文本类型。我想要数据 属性,我想要 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)。

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

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

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

const { data } = response;

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

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