首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法返回一个数组中只有一项的类型?

有没有办法返回一个数组中只有一项的类型?
EN

Stack Overflow用户
提问于 2020-10-11 23:47:46
回答 2查看 49关注 0票数 0

我正在尝试定义一个typescript函数,它接受一个字符串数组,然后返回一个字符串。该字符串被保证是数组中的一个选项。我希望返回类型为"string1" | "string2" | "string3",而不仅仅是泛型string

这样,调用函数的人就可以对返回值使用typescript。

EN

回答 2

Stack Overflow用户

发布于 2020-10-12 06:28:11

从问题定义看,您似乎正在尝试将字符串的array/tuple转换为union-type。其中一种方法是使用version 3.4提供的as const来实现这一点。以下是示例代码-

代码语言:javascript
复制
const array = ['x', 'y', 'z'] as const; 
type UnionType = typeof array[number]; // type "x" | "y" | "z"

const func = (input: typeof array): UnionType => {
  return 'x';
};

console.log(func(['x', 'y', 'z']));
票数 1
EN

Stack Overflow用户

发布于 2020-10-11 23:59:17

使用联合类型:应该这样做的type myType = "string1" | "string2" | "string3";

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64305984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档