TypeScript:コンストラクターでprivateまたはpublicを使用する

クリスチャン・ベンスラー

私はTypeScriptの世界に不慣れで、注入されたオブジェクトを処理し、コンポーネントのプロパティ(this.anything)に設定するためのこれを使用した例を見てきました。

最初に公開し、this.navに手動で設定します

export class XPTO {
   constructor(public nav: NavController) {
      this.nav = nav;
   }
}

そしてこれ、プライベートで

export class XPTO {
   constructor(private nav: NavController) {
      //this.nav is nav?
   }
}

どちらの場合も、オブジェクトを作成した後、this.navはNavControllerオブジェクトです。両方の実装の違いは何ですか?または、これはプレーンなJavaScriptにコンパイルした場合も同じですか?

パペ

実際、最初の例では、明示的な割り当てはまったく必要ありません。

export class XPTO {
   constructor(public nav: NavController) {
       // This line is not required.
       // this.nav = nav;
       this.someFunction();
   }
   someFunction(){
       console.log(this.nav); // Prints out the NavController.
   }
}

コンストラクターパラメーターでpublicまたはprivateを指定すると、対応するpublic / private変数がクラスに作成され、パラメーターの値が入力されます。

つまり、実際には、2つのコードサンプルの唯一の違いは、一方がプライベートで、もう一方がパブリックであるということです。

結果のJavaScriptは同じになります。ただし、コード内のプライベート変数にアクセスしようとすると、コンパイラーはエラーをスローします。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Typescriptとwebpackを使用したVueはコンストラクターエラーではありません

分類Dev

Typescriptでオブジェクトまたは通常のパラメータコンストラクタを使用して初期化できるクラスを作成するにはどうすればよいですか?

分類Dev

Swiftでイニシャライザーまたはコンストラクターを使用する方法

分類Dev

クラスコンストラクターは、「new」なしでは呼び出すことができません-commonjsを使用したtypescript

分類Dev

TypeScriptでコンストラクターとコンストラクター引数を入力する方法は?

分類Dev

C ++()または{}でコンストラクターを委任する

分類Dev

PharoまたはSmalltalkでコンストラクターを作成する

分類Dev

クラスでコンストラクターを使用するTypescriptは、新しいキーワードを許可しません

分類Dev

Typescriptがトランスパイルされたコードのクラスコンストラクターに.default()を追加するのはなぜですか?

分類Dev

戻り値の型がtypescriptのコンストラクター関数またはクラスであることを指定します

分類Dev

Prologで「-」コンストラクターを使用する方法は?

分類Dev

配列でコンストラクターを使用するためのtypescriptを改善

分類Dev

TypeScriptでクラスコンストラクターをクリーンアップする方法は?

分類Dev

Typescriptでインターフェイスまたはクラスを使用する場合

分類Dev

Kotlinクラスで値を宣言する最良の方法:コンストラクター、本体、またはinit {}

分類Dev

派生クラスで基本コンストラクターを使用する方法はありますか?

分類Dev

クラスコンストラクターで「参照渡し」を使用する方法はありますか?

分類Dev

TypeScriptでコンストラクターパラメーターを操作する

分類Dev

継承されたコンストラクターを使用してオブジェクトをコピーすることはできません

分類Dev

Typescript:クラスでSetを拡張すると、エラーが発生します(コンストラクターSetには「new」が必要です)

分類Dev

ReactJSまたはReact NativeのクラスのコンストラクターでsetState()関数を使用するとどうなりますか?

分類Dev

EclipseLinkは、コンストラクター式でSELECT ... ASを使用するとJPQLExceptionをスローします

分類Dev

宣言またはコンストラクターでインスタンス変数をインスタンス化する必要がありますか?

分類Dev

クラスをfinalにすることとクラスコンストラクターをprivateにすることの違いは何ですか

分類Dev

コンストラクター関数を変更または継承することは可能ですか?

分類Dev

typescript定義コンストラクターまたは関数?

分類Dev

TypeScriptはオブジェクト初期化子を使用したコンストラクターをサポートしていますか?

分類Dev

TypescriptクラスをJasmineテストにインポートします(<type>はコンストラクターエラーではありません)

分類Dev

クラスでこのポインタを常に使用するためのパフォーマンスコストはありますか?

Related 関連記事

  1. 1

    Typescriptとwebpackを使用したVueはコンストラクターエラーではありません

  2. 2

    Typescriptでオブジェクトまたは通常のパラメータコンストラクタを使用して初期化できるクラスを作成するにはどうすればよいですか?

  3. 3

    Swiftでイニシャライザーまたはコンストラクターを使用する方法

  4. 4

    クラスコンストラクターは、「new」なしでは呼び出すことができません-commonjsを使用したtypescript

  5. 5

    TypeScriptでコンストラクターとコンストラクター引数を入力する方法は?

  6. 6

    C ++()または{}でコンストラクターを委任する

  7. 7

    PharoまたはSmalltalkでコンストラクターを作成する

  8. 8

    クラスでコンストラクターを使用するTypescriptは、新しいキーワードを許可しません

  9. 9

    Typescriptがトランスパイルされたコードのクラスコンストラクターに.default()を追加するのはなぜですか?

  10. 10

    戻り値の型がtypescriptのコンストラクター関数またはクラスであることを指定します

  11. 11

    Prologで「-」コンストラクターを使用する方法は?

  12. 12

    配列でコンストラクターを使用するためのtypescriptを改善

  13. 13

    TypeScriptでクラスコンストラクターをクリーンアップする方法は?

  14. 14

    Typescriptでインターフェイスまたはクラスを使用する場合

  15. 15

    Kotlinクラスで値を宣言する最良の方法:コンストラクター、本体、またはinit {}

  16. 16

    派生クラスで基本コンストラクターを使用する方法はありますか?

  17. 17

    クラスコンストラクターで「参照渡し」を使用する方法はありますか?

  18. 18

    TypeScriptでコンストラクターパラメーターを操作する

  19. 19

    継承されたコンストラクターを使用してオブジェクトをコピーすることはできません

  20. 20

    Typescript:クラスでSetを拡張すると、エラーが発生します(コンストラクターSetには「new」が必要です)

  21. 21

    ReactJSまたはReact NativeのクラスのコンストラクターでsetState()関数を使用するとどうなりますか?

  22. 22

    EclipseLinkは、コンストラクター式でSELECT ... ASを使用するとJPQLExceptionをスローします

  23. 23

    宣言またはコンストラクターでインスタンス変数をインスタンス化する必要がありますか?

  24. 24

    クラスをfinalにすることとクラスコンストラクターをprivateにすることの違いは何ですか

  25. 25

    コンストラクター関数を変更または継承することは可能ですか?

  26. 26

    typescript定義コンストラクターまたは関数?

  27. 27

    TypeScriptはオブジェクト初期化子を使用したコンストラクターをサポートしていますか?

  28. 28

    TypescriptクラスをJasmineテストにインポートします(<type>はコンストラクターエラーではありません)

  29. 29

    クラスでこのポインタを常に使用するためのパフォーマンスコストはありますか?

ホットタグ

アーカイブ