[Typescript] Control Union Type
6539 ワード
type AB=Arrayでは、ArrayにおけるElementのtypeをA,Bで処理するために整理されたレコードである.ABのtypeはArrayにA型またはB型が存在することを示す ・・❗ABのtypeでは、共通の部分・・のみが→A.bやB.aなどのtype問題を推論できるから!AB型を持つ状態のタイプを区別するために?
type A = {
id:string;
a:number;
};
type B = {
id:string;
b:number;
};
type AB = Array<A | B> //Union Type
const divideStateByType = (state:AB) => {
if("a" in state){
console.log("state type은 a field를 가진 A type");
}else if("b" in state){
console.log("state type은 b field를 가진 B type");
}
};
const divideStateByType = (state:AB) => {
const aState = state as A;
const bState = state as B;
console.log("aState는 type이 A인 state");
console.log("bState type이 B인 state");
};
const isAType = (state: AB): state is A => {
return (state as A).deleted !== undefined;
};
if(isAtype(state)){
console.log("type이 A인 state");
}else {
console.log("type이 B인 state");
}
Reference
この問題について([Typescript] Control Union Type), 我々は、より多くの情報をここで見つけました https://velog.io/@harim/Typescript-Control-Union-Typeテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol