最近开始学了Ts,现在还是对类型有些疑惑,这里定义了两个接口,在函数的形参和调用函数的实参使用。明明两个参数类型不一样但是为什么不会报错呢?
interface UserInfo{
nickname:string;
gender:string;
}
interface UserInfo2{
nickname:string;
gender:string;
age:number
}
// 函数形参为UserInfo
function setUser(info:UserInfo){
....
}
const userinfo:UserInfo2 = {
nickname:'user1',
gender:'male',
age:50
}
//调用函数时参数类型为UserInfo2
//两个参数类型不一致,但是为什么不会报错呢?
setUser(userinfo)
ok了解了,ts中还支持类型兼容,学习了