[解決済み] タイプスクリプトのパイプ(|)の意味とは?
2022-10-02 23:32:53
質問
のタイプスクリプトのコードを見ているときに
@ng-bootstrap
というパイプ(
|
) 演算子を見つけました。
export declare const NGB_PRECOMPILE: (typeof NgbAlert | typeof NgbTooltipWindow)[];
pipe()の使い方は?
|
) 演算子はどのように使うのですか?
どのように解決するのですか?
これは 組合型 と呼ばれる。
ユニオン型は、複数の型のいずれかになりうる値を記述する。
パイプ(
|
) は、それぞれのタイプを区切るのに使われるので、例えば
number | string | boolean
は値の型として
number
, a
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
.
関連
-
[解決済み】Typescriptで、! (エクスクラメーションマーク/バン)演算子でメンバを再参照するのは?
-
[解決済み] TypeScript getting error TS2304: cannot find name ' require'.
-
[解決済み] TypeScriptで文字列を数値に変換する方法とは?
-
[解決済み] クラス定数を実装するには?
-
[解決済み] Typescript によるインターフェース型チェック
-
[解決済み] タイプスクリプトのレコードタイプとは何ですか?
-
[解決済み] Typescriptエクスポートとデフォルトエクスポートの比較
-
[解決済み】TypeScriptのインターフェースと型について
-
[解決済み】TypeScriptのコンパイルでExperimental decoratorsの警告が出る。
-
[解決済み] グローバルスコープの拡張は、外部モジュールまたはアンビエントモジュール宣言にのみ直接ネストすることができます(2669)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] TypeScriptで Object.keys return string[].
-
[解決済み] TypeScriptの予約語 "type "とは何ですか?
-
[解決済み] Typescriptでインターフェースやクラスを使用する場合 [重複].
-
[解決済み] 文字列ユニオンから文字列配列へ
-
[解決済み] tsc が `TS2307: Cannot find module` for a local file をスローします。
-
[解決済み] tsconfig.jsonのtargetは何のためにあるのですか?
-
[解決済み] Typescript のプリミティブ型:"number" と "Number" の違い(TSC は大文字と小文字を区別しない)?
-
[解決済み] TypeScriptでObject.keysがkeyof型を返さないのはなぜですか?
-
[解決済み] Visual Studio Code - インポート引用符の設定を調整する
-
[解決済み] グローバルスコープの拡張は、外部モジュールまたはアンビエントモジュール宣言にのみ直接ネストすることができます(2669)