日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

TypeScript 参数属性

發(fā)布時(shí)間:2024/8/26 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TypeScript 参数属性 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

假設(shè)類中創(chuàng)建的 readonly 類型的屬性,該類型的屬性只能在聲明處或構(gòu)造器中進(jìn)行初始化。

class Octopus {readonly name: string;readonly numberOfLegs: number = 8;constructor (theName: string) {this.name = theName;} }

為了初始化 name 屬性,不得不在構(gòu)造器中聲明另一個(gè)入?yún)?theName。這顯得冗余。

TypeScript 提供了在構(gòu)造器上同時(shí)完成屬性的聲明和初始化的功能。

以下代碼和上面的等效:

class Octopus {readonly numberOfLegs: number = 8;constructor(readonly name: string) {} }

這種通過(guò)在構(gòu)造器的入?yún)⒅新暶鲗傩缘姆绞浇凶?Parameter properties。

通過(guò)在構(gòu)造器入?yún)⑸咸砑釉L問(wèn)限定符(accessibility modifier ),readonly 或兩者結(jié)合,該參入便會(huì)成為類的屬性。

一個(gè)比較綜合的示例:

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` 沒(méi)有修飾詞,和 C++ struct 默認(rèn)公有表現(xiàn)一樣為 `public`,與 C++ class 默認(rèn)私有剛好相反 console.log(foo.b); // ? `b` 是公有 console.log(foo.c); // ? `a` `protected` 只能自己和繼承類中訪問(wèn) console.log(foo.d); // ? `d` 沒(méi)有修飾詞,不是入?yún)傩?#xff0c;類上面沒(méi)有該屬性 console.log(foo.e); // ? `a` 通過(guò)構(gòu)造器創(chuàng)建的 `public` 屬性

相關(guān)資源

  • TypeScript - Parameter properties

轉(zhuǎn)載于:https://www.cnblogs.com/Wayou/p/typescript_parameter_property.html

總結(jié)

以上是生活随笔為你收集整理的TypeScript 参数属性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。