【发布时间】:2023-02-09 04:41:09
【问题描述】:
我有这段代码:
class A {
constructor(
private _a: number,
) {}
method1() {}
method2() {}
}
class B {
constructor(
private _b: number,
) {}
method1() {}
method2() {}
}
class C {
constructor(
private _c: number,
) {}
method1() {}
method2() {}
}
let list = [new A(1), new B(2), new C(3)];
list.forEach((element: any) => {
element.method1();
})
我有这三个具有相同名称的不同构造函数和方法的类。
我如何替换 typescript 的 any 类型以知道 method1 存在?
【问题讨论】:
-
Typescript 推断
list的元素只能是A、B或C。由于所有这三个都有method1,从技术上讲,您可以省略.forEach()中的类型,因为它会自动推断为A | B | C
标签: typescript class object oop inheritance