但是当我们把需要的属性添加给一个新的对象并且不使用接口的时候就不会报错
如下:
原因:
如果直接使用字面量赋值给对象的时候默认会进行类型推导 也就意味着 对象obj当中相对于objType接口会多出一个address类型 所以会报错 但是如果使用这种变量赋值的方法相当于赋值的是引用 在ts当中编译类型的时候会做出擦除(freshness)的操作
接口(objType)擦除(freshness)简单的理解来说是指如果赋值的对象info相对于接口(objType)中描述的类型如果全部都满足的话就不会报错 如果info中缺少一个objType中的属性的话就会报错
但是这种用法还是会有bug!!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。