使用 JSDoc 从 return 值推断类型
Infer type from return value with JSDoc
从函数 return 类型分配类型的正确方法是什么?
async function getFood(){
const food = await {fruit: 'banana', qty: 3}
return food
}
/**
* made up syntax
* @type {returnOf getFood}
* */
let doesntWork;
/** @type {{fruit: string, qty: number}} */
let worksButNoInferring
let worksButRequiresCallingFunction = getFood()
如VSCode 所示,return 类型可用。就是不知道不调用函数怎么获取。
可能不符合 JSDoc 规范,但 VS Code 支持 JSDoc 中的 Typescript 语法。
async function getFood(){
const food = await {fruit: 'banana', qty: 3}
return food
}
/** @type { typeof getFood extends (...args: any[]) => infer U ? U : any } */
let test;
从函数 return 类型分配类型的正确方法是什么?
async function getFood(){
const food = await {fruit: 'banana', qty: 3}
return food
}
/**
* made up syntax
* @type {returnOf getFood}
* */
let doesntWork;
/** @type {{fruit: string, qty: number}} */
let worksButNoInferring
let worksButRequiresCallingFunction = getFood()
如VSCode 所示,return 类型可用。就是不知道不调用函数怎么获取。
可能不符合 JSDoc 规范,但 VS Code 支持 JSDoc 中的 Typescript 语法。
async function getFood(){
const food = await {fruit: 'banana', qty: 3}
return food
}
/** @type { typeof getFood extends (...args: any[]) => infer U ? U : any } */
let test;