序文: 宣言のマージとは、実際にはコンパイラが同じ名前の宣言を 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 パーソナル ネットワーク ディスクの構築に関するチュートリアル
平日はニュースに注目して、テンセントをよく閲覧しています。しかし、コメントへの返信はほとんど見られま...
目次ウェブ開発1. Web開発の概要Tomcatのインストールと設定Tomcatをインストールする2...
<br />関連記事: innerHTML HTML DOM insertRow() メ...
ターゲットzabbix フロントエンド監視の iostat コマンドでデータの 1 つを表示します。...
フロントエンド開発者の必須科目であるCSS3は、多くの基本的なアニメーション効果を実現するのに役立ち...
序文MySQL の権限テーブルは、データベースの起動時にメモリにロードされます。ユーザーが ID 認...
jQuery の登場により、DOM の操作効率が大幅に向上し、開発がより高いレベルに引き上げられまし...
まず、ページ分割クエリを使用する理由を明確にする必要があります。データが膨大なため、すべてのデータを...
目次vueカスタムディレクティブグローバル指令ローカル指示使用フック関数(両方ともオプション)使用方...
1. レビューMySQL の起動後にバッファ プールが初期化されます。バッファ プールは N 個の空...
数年前、Taobaoのモバイル版の左下隅に面白い丸いボタンがあったことを覚えています。それをクリック...
目次単一コンテンツ投影マルチコンテンツ投影単一条件のコンテンツ投影アプリ-人物-htmlアプリ担当者...
システムメンテナンス中は、いつでも CPU 使用率を確認し、対応する情報に基づいてシステムの状態を分...
最近、オンライン セキュリティ スキャンにより、MySQL コネクタに脆弱性が見つかりました。確認し...
MySQL はよく使われるオープンソースのデータベース ソフトウェアですが、初めてのユーザーにはあま...