Typescript变量定义中的角管字符用作布尔运算OR

问题描述 投票:-1回答:2

我在Angular代码/项目上工作,那里有一个变量定义,例如

@Input() public someVariable: boolean | false;

我不确定,“ |”的含义是什么以上行代码中的字符?我曾尝试在Google / SO中查找此内容,但找不到有关此内容的任何资源。

任何帮助将不胜感激!

angular typescript
2个回答
2
投票

这是非常奇怪的代码。这意味着someVariable可以是boolean或文字类型false。但是,当然false is是布尔值,所以它等效于just

@Input() public someVariable: boolean;

更多在这里:Union types

更典型的例子是:

public foo: string | number;

...这意味着foo可以包含字符串或数字,但不能(例如)包含对象引用或布尔值。


0
投票

@ Input()public someVariable:布尔值|错误;

这意味着可以将someVariable分配为boolean或false,而不能分配其他任何类型。那些类型以外的任何类型都会引起ts编译器的投诉

'|' (管道运算符)在这种情况下在语义上是“ OR”

© www.soinside.com 2019 - 2024. All rights reserved.