【发布时间】:2020-02-13 09:25:11
【问题描述】:
如果我需要使用 const 变量,我会使用这种方法,因为它具有类型安全性。
export class LocalStorage {
static USER_INFO = "user-info";
static PROFILE_INFO = "profile-info";
}
但似乎我们可以像这样使用string enums:
export enum LocalStorage {
USER_INFO = "user-info";
PROFILE_INFO = "profile-info";
}
这两种方法有什么区别?
【问题讨论】:
-
我会说一个枚举,因为它更能表达为什么你需要它。具有静态属性的类不是不言自明的。但正确的方法也可能有所不同。
-
你不能让函数接受类的静态字段。但是,它可以接收枚举的任何成员。
-
@VLAZ 这里我只需要为变量维护一个
type safety。 -
@Sampath 好的,所以哪个更类型安全:a) 枚举
myVar: LocalStorage或 b) 静态字符串myVar: string -
enum 是常量的逻辑分组。假设您想使用不同的颜色。然后你让颜色枚举由所有定义的颜色值组成。假设帐户类型包括当前值、储蓄值、贷款值、经常性值。它的逻辑分组。 常量你可以定义任何东西。现在您必须确保您的枚举名称与逻辑分组有关?枚举名称是 LocalStorage,但下面的值不能证明为枚举
标签: typescript enums