大佬们,怎么样写这个ts类型呢?

// 入参可能是这两种形式
type Params = { id: string } | { name: string }

// 根据不同的入参,指定不同的返回值
// 期望是:
// 入参为 { id: string } 返回值类型为 string
// 入参为 { name: string } 返回值类型为 string[]
type Return = string | string[]
阅读 1.6k
1 个回答

提供3个思路:

  • 函数重载,推荐
  • 通过类型保护,比如 typeof 判断是id 还是 name,进而返回不同类型
  • as 强制推导,不推荐。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题