TypeScript:使用具有explict类型的对象内部的类

时间:2018-01-23 12:12:06

标签: typescript

我无法理解如何从一个对象内部的类(实际上是命名空间)中明确地在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而我不明白为什么会这样。

谢谢!

1 个答案:

答案 0 :(得分:1)

inst的类型不是hello。这是匿名类类型,您可以在所提供的示例中看到将鼠标悬停在inst上。因为它是匿名,所以你无法从代码中引用它。