摘要:基本定義和生成實例構造函數和實例繼承繼承繼承傳遞參數方法,用來解決繼承怎么傳遞參數怎么覆蓋父類的參數的參數列表就是父類構造函數的參數列表,如果參數為空,就采用父類的參數默認值必須放在構造函數第一行繼承傳遞參數是一個屬性,不是方法是一個屬性
1.基本定義和生成實例
{ class Parent { constructor(name = "haha") { this.name = name; } } let parent = new Parent("v"); console.log("構造函數和實例", parent); // Parent?{name: "v"} }
2.繼承
{ class Parent { constructor(name = "haha") { this.name = name; } } class Child extends Parent { } console.log("繼承", new Child()); // Child?{name: "haha"} }
3.繼承傳遞參數
{ class Parent { constructor(name = "haha") { this.name = name; } } class Child extends Parent { constructor(name = "child") { // super()方法,用來解決 繼承怎么傳遞參數(怎么覆蓋父類的參數) // super的參數列表就是父類構造函數的參數列表,如果參數為空,就采用父類的參數默認值 super(name); // super必須放在構造函數第一行 this.type = "child"; } } console.log("繼承傳遞參數", new Child("hello")); // Child?{name: "hello", type: "child"} }
4.getter setter
{ class Parent { constructor(name = "haha") { this.name = name; } // longName 是一個屬性,不是方法 get longName() { return "lu-" + this.name; } // longName 是一個屬性,不是方法 set longName(value) { this.name = value; } } let person = new Parent(); console.log("getter", person.longName); // lu-haha person.longName = "hello"; console.log("setter", person.longName); // lu-hello }
5.靜態方法
{ class Parent { constructor(name = "haha") { this.name = name; } // static 關鍵字用來定義靜態方法 static tell() { console.log("do tell"); } } // 靜態方法,直接通過類去調用,不是通過實例 Parent.tell(); // do tell }
6.靜態屬性
{ class Parent { constructor(name = "haha") { this.name = name; } } // 直接在類上定義靜態屬性 Parent.type = "test"; // 讀取靜態屬性時,也是直接拿類讀取 console.log(Parent.type); // test }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/98713.html
摘要:靜態屬性靜態方法目前支持靜態方法表示,類屬性及靜態屬性目前作為提案還未正式成為標準。在中,抽象類不能用來實例化對象,主要做為其它派生類的基類使用。不同于接口,抽象類可以包含成員的實現細節。中也是這樣規定的抽象類不允許直接被實例化。 嘗試重寫 在此之前,通過《JavaScript => TypeScript 入門》已經掌握了類型聲明的寫法。原以為憑著那一條無往不利的規則,就可以開開心心的...
摘要:類的實現轉換前轉換后可見的底層依然是構造函數調用方法判斷當前函數調用前是否有關鍵字。若構造函數前面沒有則構造函數的不會不出現在的原型鏈上,返回。典型的寄生繼承用父類構造函數的創建一個空對象,并將這個對象指向子類構造函數的。代表父類構造函數。 在閱讀文章之前,您至少需要對JavaScript原型繼承有一定了解,如果覺得有所欠缺,可以先了解下我這篇文章:https://segmentfau...
摘要:額,經歷過上面的知識了解,應該能大概夠理解這段代碼了吧小結修飾器允許你在類和方法定義的時候去注釋或者修改它。 閑言 一切都要從公司里的一位老哥給我看的一段代碼說起。。。 @controller(/user) @auth @post(/login) async userLogin = (name, pass) => { @required // ... } 以下為對話:...
摘要:因為中,如果函數沒有返回值,則會默認返回。抽象類在運行時是可見的,可以通過判斷。接口只能描述類的公共部分,不會檢查私有成員,而抽象類沒有這樣的限制。本片文章主要講述了TypeScript的基礎知識點,這些是我個人的理解,如有不正確的地方請評論斧正! 文章以下面的順序講解: 變量類型 函數 類 接口 泛型 命名空間 在開始之前我們先裝環境: npm i typescript -g //全局...
閱讀 2457·2021-09-27 13:36
閱讀 2162·2019-08-29 18:47
閱讀 2129·2019-08-29 15:21
閱讀 1393·2019-08-29 11:14
閱讀 1979·2019-08-28 18:29
閱讀 1622·2019-08-28 18:04
閱讀 568·2019-08-26 13:58
閱讀 3206·2019-08-26 12:12