[英]TypeScript : what does this variable declaration syntax mean?
任何人都知道這是什么意思:
myCollection: Collection|any = null;
?
我想弄清楚,但我不確定..
這是否意味着 myCollection 被定義為 Collection 的類型, (它是一個接口) ,並且默認情況下它的值為 null? 但如果是這樣,這是什么:
|any
方法 ?
|
是一個工會。 A | B
型A | B
A | B
意思是“ A
或B
或兩者”。
any
是在any
“類型” ,您一般不應該使用,因為它有效地被分配到兩個其他任何類型和任何其他類型的關閉類型檢查。 這也意味着any
吞噬了它在聯合或交集中出現的任何類型。
類型Collection | any
因此, Collection | any
意思是“ Collection
或any
類型”。 這會立即被編譯器簡化為any
,因為“A 或任何東西”只是“任何東西”:
myCollection: Collection | any = null;
// (property) Foo.myCollection: any
所以Collection | any
Collection | any
充其量對文檔有用; 就編譯器而言, Collection |
消失了。
並且該屬性被初始化為null
。
我不確定這是別人的代碼還是你的代碼。 如果它是您的,請考慮更改為Collection | null
Collection | null
如果意圖是該屬性可以是Collection
或null
。 如果是別人的,呃,問問他們我猜這是怎么回事?
這意味着 myCollection 可以是 Collection 類型或 any 類型,並且它被初始化為 null
在Collection|any
這種類型, |
表示聯合類型
這意味着,變量mycollection
可以保存類型Collection
或any
類型的值。
因為mycollection
可以是any
類型,所以null
是有效值,並且 typescript 允許您將 null 分配給 mycollection。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.