如果我们这样写:
class A {}
function foo(): A {
return A; // No error. Why?
}
function foo2(): A {
return new A(); // Ok.
}
function bar(): typeof A {
return A; // Ok.
}
function bar2(): typeof A {
return new A(); // Error. It´s ok.
}
A 的类型不是 A,而是 typeof A。所以我不明白为什么第一个示例有效。
谢谢。
最佳答案
因为鸭子打字。 A
没有成员,所以 typeof A
可以分配给 A
。
Contary不一样:typeof A
有构造函数,所以A
不能赋值给typeof A
。
关于typescript - TypeScript 中的返回类类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32192157/