如何在TypeScript中正确实现类常量?
大家好!我正在学习TypeScript,在尝试在类中定义常量时遇到了问题。\n\n我需要创建一个类来存储与该类相关的一些固定值。例如,我想定义最大登录尝试次数(MAX_LOGIN_ATTEMPTS = 5)或订单状态(STATUS_PENDING = 'pending',STATUS_APPROVED = 'approved')。\n\n我尝试了不同的方法,但没有一种能按预期工作:\n\n```typescript\nclass UserManager {\n // 尝试1:普通属性\n MAX_LOGIN_ATTEMPTS = 5; // 这是实例属性,而不是类属性\n\n // 尝试2:static 加 const\n static const MAX_LOGIN_ATTEMPTS = 5; // 语法错误\n\n // 尝试3:readonly\n static readonly MAX_LOGIN_ATTEMPTS = 5; // 可行,但可以通过原型修改\n}\n```\n\n问题在于:\n1. 如果使用普通属性,它会为每个类实例创建,效率不高。\n2. `static const` 在TypeScript中无效。