[英]Inherit Type Member Entity Typescript
我有以下数据结构:
export abstract class Person {
...
}
export class FPerson extends Person {
a: A;
b: B;
}
export class JPerson extends Person {
c: C;
}
export class User {
person: Person;
}
在服务器端,我具有用Java编写的相同结构,User person成员可以是FPerson
或JPerson
。 我希望能够根据人员类型进行转换。如何在Typescript中进行转换?
像这样:
doSomething(u: User) {
let fp: FPerson;
let jp: JPerson;
if (u.person.isFPerson()) {
fp = <FPerson> u.person;
} else {
jp = <FPerson> u.person;
}
...
}
如何实现isFPerson()
方法? 以及如何强制打字稿将FPerson
和JPerson
存在的额外字段存储到Person
变量中?
有点像java:
doSomething(u: User) {
let fp: FPerson;
let jp: JPerson;
if (u.person instanceof FPerson) {
fp = <FPerson> u.person;
} else {
jp = <JPerson> u.person;
}
...
}
尽管FPerson
和JPerson
需要扩展Person
,但问题代码中并非如此。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.