typescript中基于字符串的枚举的变通方法

typescript中基于字符串的枚举的变通方法,typescript,Typescript,因此,我发现一个建议,在typescript中,可以使用以下语法使用基于字符串的枚举: export enum TextAlign { Left = <any>"start", Right = <any>"end", Center = <any>"middle" } 导出枚举文本对齐{ Left=“开始”, Right=“end”, 中心=“中间” } 使用这种方法有什么缺点吗 有人建议改用字符串文字类型,尽管我觉得枚举更合适,因为

因此,我发现一个建议,在typescript中,可以使用以下语法使用基于字符串的枚举:

export enum TextAlign {
    Left = <any>"start",
    Right = <any>"end",
    Center = <any>"middle"
}
导出枚举文本对齐{
Left=“开始”,
Right=“end”,
中心=“中间”
}
使用这种方法有什么缺点吗

有人建议改用字符串文字类型,尽管我觉得枚举更合适,因为您可以遍历值

使用这种方法有什么缺点吗

安全

let x:number = TextAlign.Left; // compiles fine but actually you just assigned a string to number
更多 每次断言时,您都可能在对编译器撒谎:这些谎言往往会迎头赶上:)

更多 字符串文字类型通常是首选的:

上的答案有很多关于使用基于字符串的枚举的详细信息。你的问题有那些答案吗?此外,它似乎并不像你的标题所暗示的那样,你在要求解决问题,而是你的缺点是什么。