如何将 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 的评论。这不是完全合适,但它确实回答了我的问题。
所以我有一个带有数据 属性 的响应对象。对于这个例子,它的数据是文本类型。我想要数据 属性,我想要 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 的评论。这不是完全合适,但它确实回答了我的问题。