访问 TypeScript 中默认无名类中的静态属性

Cod*_*wer 5 typescript

如果我定义一个这样的类(在一个名为 .MyClass.ts 的文件中)

export default class {
    static someProperty = 1;

    someMethod() {
       var a = ????.someProperty
    }

}
Run Code Online (Sandbox Code Playgroud)

如何访问 someProperty. 显然,使用this.someProperty不起作用。也不能使用名称。如果它是一个命名类,则可以通过SomeClassName.someProperty.

如果我将模块加载到另一个文件中。我可以通过以下方式访问它:

MyClass.someProperty
Run Code Online (Sandbox Code Playgroud)

Paa*_*rth 6

您在这里使用匿名类表达式。我可能是错的,但我相信命名类表达式是访问该变量的唯一方法。

 export default class ClassName {
    static someProperty = 1;

    someMethod() {
        return ClassName.someProperty;
    }

}
Run Code Online (Sandbox Code Playgroud)

您的消费者仍然可以为该类命名任何他们想要的名称(在前面的示例中为 MyClass)