【发布时间】:2021-03-22 03:39:29
【问题描述】:
你能知道是否可以在 Typescript 中创建这样的枚举吗?
public enum FooEnum {
ITEM_A(1), ITEM_B(2), ITEM_C(3);
private int order;
private FooEnum (int order) {
this.order = order;
}
public int getOrder() {
return order;
}
}
我有这样的枚举:
export enum FooEnum {
ITEM_A = 'ITEM_A',
ITEM_B = 'ITEM_B',
ITEM_C = 'ITEM_C',
}
我在 TypeORM 实体中使用的
@Column({ type: 'enum', enum: FooEnum })
foo!: FooEnum
我需要将枚举值分配给数字以定义它们的优先级。有可能吗?
我也有想法创建带有常量的值对象,如下所示,但我不知道在实体上使用此类,仍将 Foo.ITEM_A 保存为 'ITEM_A' 字符串
class Foo {
public static ITEM_A = new Country(1);
public static ITEM_B = new Country(2);
public static ITEM_C = new Country(3);
constructor(order: number) {
this.order = order;
}
readonly order: number;
}
【问题讨论】:
-
Java 和这个有什么关系?
-
@RobertHarvey 因为问题涉及将 Java 代码移植到 TypeScript。并非所有 Web 开发人员都是 Java 开发人员。
-
您可以创建一个具有只读属性的类并将其实例设为只读。见:Recreating advanced Enum types in Typescript
标签: java typescript enums nestjs typeorm