TypeScript函数返回值需解构时如何正确定义返回类型?
错误原因
你现有代码存在两个核心问题:
- 返回类型定义
(number, string)是元组类型,仅支持数组形式的解构,和你需要的对象解构场景不匹配 - 返回语句
return {1,'my'}不符合对象语法要求,缺少对应属性名的声明,会直接触发语法错误
正确写法
如果你要使用const {num, my} = print()的对象解构方式,有两种常用实现方案:
方案1:直接内联定义返回类型
function print(): { num: number; my: string } { return { num: 1, my: 'my' } }
方案2:抽离复用返回类型
如果这个返回结构需要在多处使用,可以提前定义类型:
// 用type定义返回结构 type PrintRes = { num: number my: string } function print(): PrintRes { return { num: 1, my: 'my' } }
修改完成后就可以正常使用你预期的解构语法取值。
内容的提问来源于stack exchange,提问作者Fay Chen
相关产品推荐
相关产品推荐

