我正在阅读Typescript手册,并且发现一段代码(对我而言)毫无意义。可以解释一下这是什么目的吗?
取自docs:
class Greeter {
static standardGreeting = "Hello, there";
greeting: string;
greet() {
if (this.greeting) {
return "Hello, " + this.greeting;
}
else {
return Greeter.standardGreeting;
}
}
}
var greeter1: Greeter;
greeter1 = new Greeter();
alert(greeter1.greet());
var greeterMaker: typeof Greeter = Greeter; // This line
greeterMaker.standardGreeting = "Hey there!"; // This line
var greeter2:Greeter = new greeterMaker(); // And this line
alert(greeter2.greet());
因此,文档所说的是
var greeterMaker: typeof Greeter = Greeter
“将拥有该类本身”。我也不完全知道这意味着什么然后这样做:
greeterMaker.standardGreeting = "Hey there!";
// Which does the exact same thing as this:
Greeter.standardGreeting = "Hey there!";
我在这里想念什么?
最佳答案
这是在TS的键入系统中进行的工作,以获取对该类的引用,而无需声明greeterMaker
直接持有一个类(我想foo: class
可能不允许使用)。
从理论上讲,即使右边的值不是Greeter
而是其他具有相似语义和相同公共(public)静态字段的类,这也将起作用。它可以允许您动态提供一个不同的类并使用它,但是在此示例中,它并不是特别有用。
关于javascript - Typescript中的这段代码有什么意义?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34754727/