私は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]
コメントを追加