Typescript中的字符串类型

Typescript中的字符串类型,typescript,Typescript,我正在建立一套服务,有很多不同的ID类型。我不想把它们都称为nodeId:string,我希望a.)输入和b.)格式验证。所以我们最终会有类似的结果 export class LogicalId extends String { constructor(value: string) { if (!/somepattern/.exec(value) { throw new ValidationError(...); }

我正在建立一套服务,有很多不同的ID类型。我不想把它们都称为
nodeId:string
,我希望a.)输入和b.)格式验证。所以我们最终会有类似的结果

export class LogicalId extends String {
    constructor(value: string) {
        if (!/somepattern/.exec(value) {
            throw new ValidationError(...);
        }
        super(value);
    }
}

这里有没有更好的方法可以在代码库中为我提供类型以及运行时检查

使用正则表达式定义类型目前不是TypeScript支持的功能,但是


目前最好的解决方法是创建一个可以传递的包装类,而不是原始字符串。

您需要编译时还是运行时类型检查?理想情况下,我希望两者都有。这正是我在OP中建议的吗?我想知道,你怎么能在没有说任何有价值的话的情况下获得选票呢?@ap有时人们会问这样的问题,他们会说“这就是我正在做的,有没有更好的方法?”有时答案会明确地说“你正在做的是唯一的方法(现在)”。我当然希望有更好的方式(例如,类似法拉兹所链接的提案),但有时我们就是没有实现我们的愿望。