在浏览@ng-bootstrap
的一些打字稿代码时,我找到了管道(|
)运算符。
export declare const NGB_PRECOMPILE: (typeof NgbAlert | typeof NgbTooltipWindow)[];
在打字稿中使用pipe(|
)运算符有什么用?
答案 0 :(得分:52)
这在typescript中称为union type。
联合类型描述的值可以是多种类型之一。
看一下这个例子:
class Test1 {
public a:string
}
class Test2 {
public b:string
}
class Test3 {
}
let x: (typeof Test1 | typeof Test2)[];
x = [Test1]; //ok
x = [Test1, Test2]; //ok
x = [Test3]; //compilation error
答案 1 :(得分:7)
管道代表'或'。所以在这种情况下,它表示允许任何一种声明的类型。也许很容易理解与原始类型的联合:
let x: (string | number);
x = 1; //ok
x = 'myString'; //ok
x = true; //compilation error for a boolean