如何在Typescript中的类中添加枚举

use*_*879 8 typescript

我定义了一个模型类,我想添加一个枚举标签,如:

export class User {
    userID: number;
    nom: string;
    prenom: string;
    dateCretation: Date;
    statut: enum {
        Value1,
        Value2
    };
}
Run Code Online (Sandbox Code Playgroud)

枚举中出现标记错误:[ts]预期类型.我该如何解决?

Coz*_*ure 12

您需要enum事先声明,然后将其键入您想要具有该类型的属性:

export enum Values{
  Value1,
  Value2
}

export class User {
  userID: number;
  nom: string;
  prenom: string;
  dateCretation: Date;
  statut: Values
}
Run Code Online (Sandbox Code Playgroud)

另一个替代方案是,如果您确定statut只能严格接受两个值,例如,它们的类型string,那么您可以执行以下操作:

export class User {
  userID: number;
  nom: string;
  prenom: string;
  dateCretation: Date;
  statut: "Value1" | "Value2"
}
Run Code Online (Sandbox Code Playgroud)


小智 6

您在TypeScript中无法做到的任何事情都是不可能的.根据我的理解,您需要一个Status enum类型的数据成员.您可以通过这种方式更新代码

enum Status {
    Value1,
    Value2
};

export class User {
    userID: number;
    nom: string;
    prenom: string;
    dateCretation: Date;
    status: Status; // can hold either Value1 or Value2 from Status enum
}
Run Code Online (Sandbox Code Playgroud)