TypeScript 类型检查未能捕获错误的赋值

标签 typescript

class BaseClass {}

var cls:BaseClass = 1234;

您可以在 TypeScript Playground 上尝试此操作:http://www.typescriptlang.org/Playground/

上面的代码非常简单,但 TypeScript 没有捕获错误。由于错误非常明显,这让我怀疑我是否做错了什么。

最佳答案

这不是一个错误,因为它不是一个错误。 BaseClass 类型没有成员,因此在结构类型系统中,它是所有内容的父类(super class)型。如果您向其中添加任何成员(也不是 Number 的成员),您将收到错误消息:

class BaseClass {
    x;
}

var cls:BaseClass = 1234; // Error

关于TypeScript 类型检查未能捕获错误的赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22385775/

相关文章:

typescript - 使用 Fetch 和 Promise 的 Angular 2 服务

typescript - Material UI 日期时间选择器示例

angular - 如何在 Angular 2 测试中对 fixture.whenStable 使用 await

javascript - 过滤后将数组合并为一个数组

visual-studio - Angular2 - 不会为提前编译生成 ngfactory 文件

javascript - Typescript 自动生成的 JS 文件 : "Uncaught TypeError: Failed to resolve module specifier"

angular - APP_INITIALIZER 页面重新加载后未定义的结果

javascript - TypeScript 中是否可以有通用的装饰器,可以根据其输入/输出类型进行链接?

javascript - oauth2 应该使用驼峰命名法吗?

javascript - 从对象数组中删除空条目