
这种错误提示怎么处理,或者正确的写法是怎么样的
看提示,你B里没有name这个属性,如果你都不确定的话,可以把person的类型改成any,但是,ts里,除非必要,不然不要用any
我确定person 是A或者B类型,要是避免这个报错只能声明为any了?
声明为any就没有代码提示了。。。
你的B没有name属性啊 a和b不重合 不要用any啊 用any不如不写
如果是A和B联合类型 你要先收缩类型 收缩方法很多
而且你不能同时打印name和age,因为name和age不可能出现在同一个类型上
或者你弄一个Person的interface,把age和name弄成可选的
interface Person{
age?:string
name?:string
}
请问这种没有重合属性的,怎么写
给你补充了 你看看是不是你想要的
interface C extends A, B{
}
不行,我实际项目中A和B就是两个完全不同的类型,不过我刚才找到了一个联合类型的使用方法 类型收窄
这样就不会报错了,感谢!
你这还不如用上面的接口的方式
A&B就好了
分开不行吗?
既然类型不同,甚至数据内容都不同,何必放一起呢,分开判断null不更好吗
(this.person as A).name