Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript-比较从服务器提交的序列化枚举_Typescript_Enums - Fatal编程技术网

Typescript-比较从服务器提交的序列化枚举

Typescript-比较从服务器提交的序列化枚举,typescript,enums,Typescript,Enums,我有以下枚举: export enum ClearingStatus { APPROVED, PENDING } 在此界面中: export interface PurchaseResponse { email?: string; clearingStatus?: ClearingStatus; } PurchaseResponse从服务器提交为:{“电子邮件”:test@t,“clearingStatus”:“已批准”} 我想将它与clent中的枚举进行比较

我有以下枚举:

export enum ClearingStatus
{
    APPROVED,
    PENDING
}
在此界面中:

export interface PurchaseResponse
{
    email?: string;
    clearingStatus?: ClearingStatus;
}
PurchaseResponse
从服务器提交为:
{“电子邮件”:test@t,“clearingStatus”:“已批准”}

我想将它与clent中的枚举进行比较

这些措施不起作用:

x.clearingStatus===clearingStatus.APPROVED

x.clearingStatus===clearingStatus.APPROVED
(编译错误)

这是有效的

x.data.clearingStatus as unknown===clearingStatus[clearingStatus.APPROVED]

这是代码气味

你能推荐一种更好更安全的方法吗?

谢谢

在您的代码中,
ClearingStatus.APPROVED
为0,而
ClearingStatus.PENDING
为1-这些不会与序列化字符串进行比较

但您可以使用字符串枚举:

export enum ClearingStatus
{
    APPROVED = "APPROVED",
    PENDING = "PENDING"
}

在您的代码中,
ClearingStatus.APPROVED
为0,而
ClearingStatus.PENDING
为1-这些不会与序列化字符串进行比较

但您可以使用字符串枚举:

export enum ClearingStatus
{
    APPROVED = "APPROVED",
    PENDING = "PENDING"
}