[英]How to create an enum with typescript and returning string
伙計們,我想問問我是否可以創建一個像這樣的枚舉
export enum CompanyMemberTypeEnum {
DIRECTORS,
SHAREHOLDERS,
DIRECTORS_AND_SHAREHOLDERS
}
CompanyMemberTypeEnum.DIRECTORS
將返回0,對嗎? 但是如果我想創建一個可以獲取像這樣的枚舉的字符串的函數
CompanyMemberTypeEnum.getList(CompanyMemberTypeEnum.DIRECTORS)
將返回“導演”
在枚舉文件中,這可能嗎?
首先,您需要創建一個基本的Enum<T>
類。
export class Enum<T> {
public constructor(public readonly value: T) {}
public toString() {
return this.value.toString();
}
}
創建擴展Enum<T>
;
export class CompanyMemberTypeEnum extends Enum<string> {
public static readonly DIRECTORS = new Enum('DIRECTORS');
public static readonly SHAREHOLDERS= new Enum('SHAREHOLDERS');
public static readonly DIRECTORS_AND_SHAREHOLDERS = new Enum('DIRECTORS_AND_SHAREHOLDERS');
}
現在,您可以像使用枚舉一樣;
console.log(CompanyMemberTypeEnum.DIRECTORS); // Enum { value: 'DIRECTORS' }
console.log(CompanyMemberTypeEnum.DIRECTORS.value); // DIRECTORS
console.log(CompanyMemberTypeEnum.DIRECTORS.toString()); // DIRECTORS
您可以像這樣定義枚舉:
export enum CompanyMemberTypeEnum {
DIRECTORS = <any>'Directors',
SHAREHOLDERS = <any>'ShareHolders',
DIRECTORS_AND_SHAREHOLDERS = <any>'Directors and shareholders'
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.