typescript - TypeScript 中的返回类类型

标签 typescript

如果我们这样写:

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/

相关文章:

typescript - 使用 VS Code 将文本资源导入 typescript

Angular - 模型和服务之间的区别

angular - 错误 'mat-dialog-content' 不是已知元素

javascript - 错误 : StaticInjectorError(AppModule)[HomePage -> BluetoothSerial]

javascript - 在 typescript 中合并类型(将键添加到现有的 keyof 类型)

javascript - 如何在 TypeScript 中使用第 3 阶段的功能?

typescript - 类型安全的 useDispatch 和 redux-thunk

Typescript 我可以在函数体中使用泛型类型吗

reactjs - 属性 '[Symbol.observable]' 在类型 'Store<ApplicationState>' 中缺失,但在类型 'Store<any, AnyAction>' 中需要。 TS2741

node.js - 在 Docker 构建中找不到 TSC