TypeScriptのunion型とintersection型のネーミングについて
質問
以下の用語の背後にある論理を理解することができません。 ユニオンタイプ と 交差型 をTypeScriptで実装しています。
実用的には、異なる型のプロパティがセットになっている場合、それらを組み合わせると
&
演算子を使うと、結果として得られる型は
結合
になります。このロジックに従えば、このような型は
ユニオンタイプ
. もし私がそれらを
|
と組み合わせると、共通のプロパティである
交差点
を使うしかありません。
ウィキペディア はその論理を裏付けているようです。
<ブロッククオート任意の非空集合Sの冪集合(すべての部分集合の集合)は、ブール代数(集合の代数)を形成し、∨ :=∪(和)、∧ :=∩(交差)の二つの演算を持つ。
しかし、以下によれば
typescriptlang.org によると
によれば、それは全く逆です。
&
を生成するために使われます。
交差点タイプ
と
|
は
組合型
.
他の見方があると思うのですが、解りません。
どのように解決するのですか?
もう一つの考え方を紹介しましょう。4つのセットを考えてみましょう。青いもの、赤いもの、大きなもの、小さなものです。
もし、あなたが 交わる を交えると、すべての青いものとすべての小さいものの集合に行き着く。 結合 になる。つまり、セット内のすべてのものは青い性質と小さい性質の両方を持つ。
しかし、もしあなたが 結合 の 青い小物 と 赤い小物 のように、結果として得られる集合では小ささの性質だけが普遍的である。 交差する "青い小さい" と "赤い小さい" は "小さい" を生成する。
言い換えれば、値の領域の和を取ると、交差したプロパティのセットが生成され、逆もまた同様です。
関連
-
[解決済み] コンストラクタとngOnInitの違いについて
-
[解決済み] TypeScriptでの取得と設定
-
[解決済み] String型とstring型の違いは何ですか?
-
[解決済み] 複数の集合の交点を求めるのに最適な方法とは?
-
[解決済み】TypeScriptのインターフェースと型について
-
[解決済み] TypeScript "this" scoping issue when called in jquery callback.
-
[解決済み] tsconfigの "target "と "module "を理解する。
-
[解決済み] Typescript の nameof キーワード
-
[解決済み] Typescript の Reexport クラス
-
String Prototypeを拡張し、Typescriptで使用するには?
最新
-
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がkeyof型を返さないのはなぜですか?
-
[解決済み] Typescript でエラーをスローする関数を宣言する方法
-
[解決済み] オプションのパラメータが提供されたかどうかを確認するにはどうすればよいですか?
-
[解決済み] TypeScript インポートパスエイリアス
-
[解決済み] Typescript の boolean への変換
-
[解決済み] TsLint が "expected callSignature to have a typedef." と言っていますが、どういう意味ですか?
-
[解決済み] 型 'null' は型 'T' に割り当てられません。
-
[解決済み] 型 'X' の引数は型 'X' のパラメータに代入できません。
-
[解決済み] 新しい Typescript 1.8.4 のビルドエラー。" ビルド。Property 'result' がタイプ 'EventTarget' に存在しません。"