首页 > 解决方案 > 接口和联合的命名约定,首先想到我想给出相同的名称?

问题描述

正如您在下面看到的,我对服务器消息同时使用了接口IServerMessage和有区别的联合。UServerMessage

如果你愿意,你可以阅读更多关于我是如何在这个线程中拥有这两者的信息:TypeScript 可以在使用扩展时推断出开关块中的正确类型,就像我在使用联合时一样吗?

但是,我知道I接口的U前缀和联合的前缀都是非常规的。

在这种情况下我可以应用什么通用命名约定?我搜索了这个主题,但没有找到。

export interface IServerMessage {
    type: string;
}

export interface ServerResponse extends IServerMessage {
    type: 'response';
    cmd: string;
    trans_id?: string;
    data?: Object;
}

export interface ServerError extends IServerMessage {
    type: 'error',
    errorcode: string;
    cmd?: string;
    trans_id?: string;
    data?: Object;
}

export interface ServerProgress extends IServerMessage {
    type: 'progress',
    cmd: string,
    progress_value: number,
    trans_id?: string,
    data?: string;
}

export interface ServerInformation extends IServerMessage {
    type: 'information',
    info: string;
    data?: Object;
}

export type UServerMessage = ServerResponse | ServerError | ServerProgress | ServerInformation;

标签: typescript

解决方案


推荐阅读