Typescript 函数如何返回一个类型的属性?

作者站长头像
站长
· 阅读数 21

例如我定义了一个对象

interface IUser {
    name: string
    age: number
    hobby: {
        name: string
        durationTime: string
        reason: string
    }
}

定义个一个函数,返回的类型是 hobby 类型,如果不把 hobby 提取出去单独声明,有没有方法可以实现代码

const getHobby = (params: {userId: number}): Promise<IUser.hobby> {
    const user = await api.getUserById(...)
    return user.hobby
}

以上部分的 Promise<IUser.hobby> 应该替换成什么?

回复
1个回答
avatar
test
2024-07-09

前两天刚遇到

IUser["hobby"]

即可

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容