我无法理解如何从一个对象内部的类(实际上是命名空间)中明确地在TypeScript中指定类型:
let obj = {
hello: class {
constructor: function () {
console.log('hi');
}
}
}
// Implicit type assignment in global space works
var inst = new obj.hello();
// But explicit assignment of the type doesn't work.
var inst2: obj.hello;
function assign() {
inst2 = new obj.hello();
}
This is it on TS Playground。输出看起来很好,但inst2
的输入信息不可用,它只是回到any
而我不明白为什么会这样。
谢谢!
答案 0 :(得分:1)
inst
的类型不是hello
。这是匿名类类型,您可以在所提供的示例中看到将鼠标悬停在inst
上。因为它是匿名,所以你无法从代码中引用它。