生活随笔
收集整理的這篇文章主要介紹了
                                
标签联合
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
 
                                
                            
                            
                            我們可以把單例類型、聯合類型、類型保護和類型別名這幾種類型進行合并,來創建一個叫做可辨識聯合的高級類型,它也可稱作標簽聯合或代數數據類型。
 ?
  可辨識聯合要求具有兩個要素:
   - 具有普通的單例類型屬性(這個要作為辨識的特征,也是重要因素)。
- 一個類型別名,包含了那些類型的聯合(即把幾個類型封裝為聯合類型,并起一個別名
interface Square {kind:"square"; 
// 這個就是具有辨識性的屬性
  size: number;
}
interface Rectangle {kind: "rectangle"; 
// 這個就是具有辨識性的屬性
  height: number;width: number;
}
interface Circle {kind: "circle"; 
// 這個就是具有辨識性的屬性
  radius: number;
}
type Shape = Square | Rectangle | Circle; 
// 這里使用三個接口組成一個聯合類型,并賦給一個別名Shape,組成了一個可辨識聯合。
function getArea(s: Shape) {switch (s.kind) {case "square"
:return s.size *
 s.size;case "rectangle"
:return s.height *
 s.width;case "circle"
:return Math.PI * s.radius ** 2
;}
}  上面這個例子中,我們的 Shape 即可辨識聯合,它是三個接口的聯合,而這三個接口都有一個 kind 屬性,且每個接口的 kind 屬性值都不相同,能夠起到標識作用。
  
 
轉載于:https://www.cnblogs.com/guangzhou11/p/11319381.html
                            總結
                            
                                以上是生活随笔為你收集整理的标签联合的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。