首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法在typescript中使用数字字符串类型?

有没有办法在typescript中使用数字字符串类型?
EN

Stack Overflow用户
提问于 2021-06-20 10:16:24
回答 1查看 65关注 0票数 1

我想为任意的数字字符串定义一个类型,比如"123","0","1234923874“。

我知道我可以将多位数类型定义为一位数类型,如下所示:

代码语言:javascript
复制
type digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9";
type multiDigitStr = `${digit}${digit}${digit}${digit}${digit}${digit}`;

但是我得到了一个错误

Expression produces a union type that is too complex to represent.ts(2590)

此外,上面的类型被限制为6位数,而我可能不知道字符串的长度。

尝试使用正则表达式将一个或多个字符串数描述为一个类型会产生意外的结果:

代码语言:javascript
复制
type multiDigitStr = `${digit}+`;
let a: multiDigitStr;
a = "123412341";

产生以下错误:

Type '"123412341"' is not assignable to type '"0+" | "1+" | "2+" | "3+" | "4+" | "5+" | "6+" | "7+" | "8+" | "9+"'

可以创建多位字符串类型吗?

EN

回答 1

Stack Overflow用户

发布于 2021-06-20 10:41:38

是否可以创建多位字符串类型

不是的。

更多

如果TypeScript支持正则表达式验证字符串类型:https://github.com/microsoft/TypeScript/issues/41160,则是可能的

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

https://stackoverflow.com/questions/68052141

复制
相关文章

相似问题

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