打字稿数组接受错误的类型

时间:2018-08-29 17:03:41

标签: arrays typescript

我希望以下代码无法编译,因为B不应是array.push的有效类型。我想念什么?

class A {};
class B {};
const arr: A[] = [];
arr.push(new B());

1 个答案:

答案 0 :(得分:6)

TypeScript使用结构兼容性来确定类型兼容性。这些类在结构上兼容,因为它们具有相同的属性(空对象)。

请参阅:https://www.typescriptlang.org/docs/handbook/type-compatibility.html