猿问

typescript 关于接口的语法检查问题

请教一下是为什么同样是用MyInterface的接口校验规则去检测为什么第一个能正常编译后者报错其中的编译规则是怎样的
interfaceMyInterface{
name:string
}
functionconsoleName(myObj:MyInterface){
console.log(myObj.name)
}
letmyobj={
size:10,
name:'nihao'
}
consoleName(myobj)
//正常编译
interfaceMyInterface{
name:string
}
letmyobj:MyInterface={
name:'nihao',
size:10//Error
}
//size出错
炎炎设计
浏览 452回答 2
2回答

慕尼黑的夜晚无繁华

简单来说,{name:'nihao',size:10//Error}不是一个MyInterface类型,但是它能够赋值给一个MyInterface类型的变量,因为前者能够兼容后者。具体可以看类型兼容性
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答