使用字符串文字类型别名的枚举或联合之间有什么区别(优点/缺点)?

evi*_*ing 7 typescript

使用枚举与类型别名有何优缺点,如下所示?

const enum LanguageEnum {
  English,
  Spanish
}

type LanguageAlias = "English" | "Spanish";

let l: LanguageAlias = "English";

let la: LanguageEnum = Language.English

Run Code Online (Sandbox Code Playgroud)

使用枚举的目的是枚举类型的可能值。但是字符串文字的并集不是也枚举了可能的类型吗?

我一直觉得这些 TS 枚举很奇怪。