javascript(typescript)类中的静态常量

javascript(typescript)类中的静态常量,javascript,typescript,constants,Javascript,Typescript,Constants,我喜欢单个默认导出,并通过类定义访问常量值,如下所示: MyClassDefinition.MyConstant 我发现自己正在使用这种方法: export default class MyClassDefinition { static get MyConstant(): number { return 1234 }; } 我知道有没有一种不太详细的方法来实现这一点?您可以使用只读静态属性来代替getter。该类型也可以省略,因为TypeScript将从该值推断该类型 导出默认类M

我喜欢单个默认导出,并通过类定义访问常量值,如下所示:

MyClassDefinition.MyConstant
我发现自己正在使用这种方法:

export default class MyClassDefinition {
    static get MyConstant(): number { return 1234 };
}

我知道有没有一种不太详细的方法来实现这一点?

您可以使用
只读
静态属性来代替getter。该类型也可以省略,因为TypeScript将从该值推断该类型

导出默认类MyClassDefinition{
静态只读MyConstant=1234;
}
我还认为类应该是
抽象的
,因为它不应该被实例化,但这当然会让它再次变得更加冗长

如果仅通过从其他文件导入类来引用该类,则甚至可以完全删除该类的名称:

导出默认类{
静态只读MyConstant=1234;
}
更不详细的方法是导出如下对象:

MyClassDefinition.MyConstant
导出默认值{
MyConstant:1234
};
请注意,使用最后一种方法,TypeScript不会阻止您将
MyClassDefinition.MyConstant
重新赋值给新值。与具有
只读
字段的基于类的解决方案不同。但是,您可以使用将文字属性的类型转换为
readonly

导出默认值{
MyConstant:1234
}作为常量;

as const
也将尽可能缩小这些属性的类型。因此,
MyConstant
将是
1234
类型,而不是
number
。但是,对于常量,这通常不成问题。

如果OP没有类,可以不导出对象,那么
导出常量MyConstant=1234将是更明智的选择。这当然也是一个选项。我没有列出它,因为OP明确表示希望将其作为默认导出。