任何人都知道这是什么意思:
myCollection: Collection|any = null;
?
我正在设法弄清楚,但我不确定。.
这是否意味着myCollection被定义为Collection的类型(这是一个接口),并且其值默认为null? 但如果是这样,这是什么:
|any
是什么意思?
答案 0 :(得分:2)
|
是union。类型A | B
的意思是“ A
或B
或两者兼有。”
any
是the any
"type",通常是shouldn't be using,因为它可以通过同时赋予到任何其他类型以及从任何其他类型。这也意味着any
吞噬了在联合或相交处出现的任何类型。
类型Collection | any
因此意味着“任何类型的Collection
或any
”。编译器立即将其减少到any
,因为“ A或任何东西”就是“任何东西”:
myCollection: Collection | any = null;
// (property) Foo.myCollection: any
因此Collection | any
最多对文档有用。就编译器而言,Collection |
消失了。
该属性被初始化为null
。
我不确定这是别人的密码还是你的。如果是您的,如果目的是该属性可以是Collection | null
或Collection
,请考虑更改为null
。如果是别人的,嗯,问他们我怎么了?
答案 1 :(得分:1)
这意味着myCollection可以是Collection类型的,也可以是any类型的,并且被初始化为null
答案 2 :(得分:1)
在Collection|any
这种类型中,|
表示Union Type
意思是,变量mycollection
可以保存类型为Collection
的值 OR 类型为any
。
由于mycollection
的类型可以为any
,null
是有效值,而打字稿允许您将空值分配给mycollection。