TypeScript 参数属性
生活随笔
收集整理的這篇文章主要介紹了
TypeScript 参数属性
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
| 假設類中創建的 readonly 類型的屬性,該類型的屬性只能在聲明處或構造器中進行初始化。 class Octopus {readonly name: string;readonly numberOfLegs: number = 8;constructor (theName: string) {this.name = theName;} }為了初始化 name 屬性,不得不在構造器中聲明另一個入參 theName。這顯得冗余。 TypeScript 提供了在構造器上同時完成屬性的聲明和初始化的功能。 以下代碼和上面的等效: class Octopus {readonly numberOfLegs: number = 8;constructor(readonly name: string) {} }這種通過在構造器的入參中聲明屬性的方式叫作 Parameter properties。 通過在構造器入參上添加訪問限定符(accessibility modifier ),readonly 或兩者結合,該參入便會成為類的屬性。 一個比較綜合的示例: class Foo {a: string;public b: string;protected c: string;constructor(d: number, public e: string) {} }var foo = new Foo(1, "2");console.log(foo.a); // ? `a` 沒有修飾詞,和 C++ struct 默認公有表現一樣為 `public`,與 C++ class 默認私有剛好相反 console.log(foo.b); // ? `b` 是公有 console.log(foo.c); // ? `a` `protected` 只能自己和繼承類中訪問 console.log(foo.d); // ? `d` 沒有修飾詞,不是入參屬性,類上面沒有該屬性 console.log(foo.e); // ? `a` 通過構造器創建的 `public` 屬性相關資源
|
轉載于:https://www.cnblogs.com/Wayou/p/typescript_parameter_property.html
總結
以上是生活随笔為你收集整理的TypeScript 参数属性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: shell脚本--sed的用法
- 下一篇: linux面试题一