猿问

有没有童鞋遇到过同样的问题: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出错
慕无忌1623718
浏览 238回答 2
2回答

牛魔王的故事

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

相关分类

JavaScript
我要回答