Javascript JS-如何在对象上定义多状态属性
我在Angular上创建了这个接口,以便“塑造”前端和服务器之间的对象Javascript JS-如何在对象上定义多状态属性,javascript,interface,Javascript,Interface,我在Angular上创建了这个接口,以便“塑造”前端和服务器之间的对象 export interface RepairNote{ id: number, nombre?: string, telefono?: number, ref?: string marca?: string, averia?: string, fecha?: Date, estado?: /* here */ } 我愿意让“estado”(英语:status)具有不同的封闭组状态,即“待定
export interface RepairNote{
id: number,
nombre?: string,
telefono?: number,
ref?: string
marca?: string,
averia?: string,
fecha?: Date,
estado?: /* here */
}
我愿意让“estado”(英语:status)具有不同的封闭组状态,即“待定、完整和封闭”。这意味着estado只能有这3个值中的一个。在我看来,它就像一个布尔值,但有两个以上的状态。这是一个非常简单的问题,我知道它属于OOP的基础知识,但我没有回答,我不知道如何使它工作。我通常使用“枚举”来处理这类事情:
export enum Status {
Pending = 'Pending',
Complete = 'Complete',
Closed = 'Closed',
}
export interface RepairNote {
// ...
status?: Status;
// ...
}
在这里您可以找到有关枚举的更多信息:谢谢。这种方式是否“强制”在枚举中有一个定义?如果为它的值编写另一个东西会出错吗?我现在在后端,它不是ts,而是js,所以我不知道在模型上设置什么类型。我输入类型:{},因为没有“enum”。有什么建议吗?如果你在前端和后端都坚持使用TypeScript,它会阻止在代码中设置这样的值。您可以在后端添加的另一个安全层是通过JSON模式验证器运行从客户端接收的所有模型,例如: