序文: 宣言のマージとは、実際にはコンパイラが同じ名前の宣言を 1 つの宣言にマージすることを意味します。マージの結果、マージされた宣言は元の 2 つ以上の宣言の特性を同時に持つことになります。 インターフェースのマージでは、内部のメンバーに関数メンバーがあるかどうかが必要です。内部の関数メンバーについては、同じ名前を持つ各関数宣言がこの関数のオーバーロードとして扱われます。インターフェース A が後のインターフェース A とマージされると、後のインターフェースが優先されます。 今日はTSの宣言のマージについてもお話ししますが、今回は名前空間関連のマージについてです。 主な側面は 2 つあります。1 つは同じ名前の名前空間のマージであり、もう 1 つは他のタイプの名前空間のマージです。以下、一つずつ説明します 同じ名前の名前空間をマージするインターフェースのマージと同様に、同じ名前を持つ 2 つ以上の名前空間のメンバーもマージされます。 では、具体的にどのように統合するのでしょうか? 同じ名前の名前空間をマージする場合は、次の 4 つの点に注意してください。
例えば: 名前空間動物 { クラス Cat をエクスポートします { } } 名前空間動物 { エクスポートインターフェース Legged { numberOfLegs: number; } クラス Dog をエクスポートします { } } は以下と同等です: 名前空間動物 { エクスポートインターフェース Legged { numberOfLegs: number; } エクスポートクラス Cat { } クラス Dog をエクスポートします { } } 上記の例では、同じ名前 名前空間とその他の種類のマージ名前空間は、クラスや関数、列挙型などの他のタイプの宣言と組み合わせることができます。 同じ名前の名前空間とクラスをマージする例えば: クラスアルバム{ ラベル: Album.AlbumLabel; } 名前空間アルバム { export class AlbumLabel { } // マージされたクラスがアクセスできるように `AlbumLabel` クラスをエクスポートします } 名前空間とクラスを統合すると、内部クラスを持つクラスが作成される。 同じ名前の名前空間と関数をマージする上記の内部クラス パターンに加えて、 たとえば、公式の例: 関数buildLabel(名前: 文字列): 文字列 { buildLabel.prefix + name + buildLabel.suffix を返します。 } 名前空間ビルドラベル { エクスポートlet suffix = ""; エクスポート let prefix = "こんにちは、"; } console.log(buildLabel("サム・スミス")); 同じ名前を持つ名前空間と列挙列挙を拡張するために使用できます。公式の例を見てみましょう。 列挙型カラー{ 赤 = 1、 緑 = 2、 青 = 4 } 名前空間カラー{ エクスポート関数mixColor(colorName: 文字列) { if (colorName == "黄色") { Color.red + Color.green を返します。 } そうでない場合 (colorName == "white") { Color.red + Color.green + Color.blue を返します。 } そうでない場合 (colorName == "マゼンタ") { Color.red + Color.blue を返します。 } それ以外の場合は (colorName == "シアン") { Color.green + Color.blue を返します。 } } }
TS 名前空間のマージに関するこの記事はこれで終わりです。TS 名前空間のマージに関する詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: Docker を使用した nextcloud パーソナル ネットワーク ディスクの構築に関するチュートリアル
この記事では、MySQL ユーザー管理操作について説明します。ご参考までに、詳細は以下の通りです。こ...
初心者は、いくつかの HTML タグを理解することで HTML を学習できます。この入門書は、初心者...
この記事では、WebSocketを使用して簡単なチャットルームの会話を実装するための具体的なコードを...
何が大問題ですか?長時間実行され、長時間コミットされないトランザクションは、大規模トランザクションと...
01. 概要絶対パスと相対パスはシェル環境でよく使用され、それぞれに独自の用途があります。相対パスの...
目次序文1. Nginxのインストール1. Nginxをダウンロードする2. 依存関係をインストール...
この記事ではクラスタの展開に関連する内容は紹介しませんバージョン制約Docker エンジン >...
設定例 アップストリームバックエンド{ サーバー backend1.example.com 重み=5...
背景: 最近、資産報告関連の機能に取り組んでおり、中国語入力をサポートする必要があります。通常のショ...
この記事では、React Native の基本をすでに理解していることを前提とし、ネイティブと Ja...
最初の解決策は、イメージを公開イメージリポジトリにプッシュし、それをプルダウンすることです。 2 番...
目次ビジネスロジックデータテーブル構造クエリロジックSQL スクリプトスクリプトの説明ビジネスロジッ...
Nginx は同じドメイン名で構成されており、http と https の両方でアクセスできます。証...
ページ、特にホームページを作成するときは、通常、Web サイト全体の他のメイン ページにリンクできる...
1. Dockerネットワーク管理1. Dockerコンテナ方式1) Dockerが外部ネットワーク...