我正在使用泛型,并且期望在下面的代码中在两个地方出现编译错误,但是我没有遇到任何错误。是我以错误的方式使用TypeScript泛型,还是有其他原因导致无法捕获错误的函数调用?
class Person {
}
class Employee extends Person {
}
interface Payable<T> {
pay(arg: T): T
}
class C implements Payable<Employee> {
pay(e: Employee) { return e;}
}
const c = new C();
c.pay(123); // why no errors here?
function doStuff<T extends Employee>(param: T) {
}
doStuff(123); // why no errors here?
谢谢