[英]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.