Disons que j'ai une interface:vérification de type et génériques
interface Comparable<T> {
equals(other:T):boolean
}
qui je suis mise en œuvre dans plusieurs classes:
class Rectangle implements Comparable<Rectangle> {
equals(other:Rectangle):boolean {
// logic
return true;
}
}
class Circle implements Comparable<Circle> {
equals(other:Circle):boolean {
// logic
return true;
}
}
Pourquoi tapuscrit permet de comparer rectangle et cercle?
let circle:Circle = new Circle();
let rectangle:Rectangle = new Rectangle();
console.log(circle.equals(rectangle));
ne devrait-il me prévenir que je fourni le type incompatible avec de cercle est égal à la méthode?