假设我有一个界面:
interface Comparable<T> {
equals(other:T):boolean
}
然后我在几个类中实现:
class Rectangle implements Comparable<Rectangle> {
equals(other:Rectangle):boolean {
// logic
return true;
}
}
class Circle implements Comparable<Circle> {
equals(other:Circle):boolean {
// logic
return true;
}
}
为什么 TypeScript 允许比较矩形和圆形?
let circle:Circle = new Circle();
let rectangle:Rectangle = new Rectangle();
console.log( circle.equals(rectangle) );
它不应该警告我我为 circle 的equals方法提供了不兼容的类型吗?