いくつかの TypeScript コードを閲覧中に、@ng-bootstrap
pipe() 演算子を見つけました|
。
export declare const NGB_PRECOMPILE: (typeof NgbAlert | typeof NgbTooltipWindow)[];
|
TypeScript でのパイプ () 演算子の用途は何ですか?
ベストアンサー1
これはユニオン型タイプスクリプトで。
ユニオン型は、複数の型のいずれかになることができる値を記述します。
パイプ ( |
) は各型を区切るために使用されます。たとえば、は、、 、 のいずれかnumber | string | boolean
になる値の型です。number
string
boolean
let something: number | string | boolean;
something = 1; // ok
something = '1'; // ok
something = true; // ok
something = {}; // Error: Type '{}' is not assignable to type 'string | number | boolean'
質問に似た例を次に示します。
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
x
は、コンストラクタを含む配列です。Test1
または Test2
。