让我以身作则解释。
在名为Component
的字段中,您应该可以具有以下值>“ M”,“ B”,“ A。
因此您可以进行以下定义:type Component = "M" | "B" | "A";
到目前为止很好。但是应该也可以将这些组合在一起,如下所示:const MyComponent : Component = "MB";
要么const MyComponent : Component = "BA";
如何定义?
目前无法使用TypeScript进行此操作,但是您可以使用RegEx验证这样的字符串,以下线程给出了如何执行此操作的示例:How can I split a string into segments of n characters?
您也可以使用此正则表达式:
let value = 'MBA';
// string length 1-3 and contains M,B,A combinations
let validatorRegEx = /^([M|B|A]{1,3}$)/i;
if(validatorRegEx.test(value)) {
// code ...
}
简单地为您的数据找到接口-看起来您的Component
属性的域数据看起来像是一组简单的值。因此,也许您应该扩展您的类型(联合):
type Component = "M" | "B" | "A" | "MA"
您对引入枚举(字符串)有何看法?
enum Direction {
A: "A",
B: "B",
M: "M",
AB: "AB",
// more values
}
最后-不要将数据类型视为验证器。因此,也许在您的情况下,您应该只使用简单的“字符串”类型并在需要时或在初始化时对其进行验证。