摘要:基本定義和生成實例構(gòu)造函數(shù)和實例繼承繼承繼承傳遞參數(shù)方法,用來解決繼承怎么傳遞參數(shù)怎么覆蓋父類的參數(shù)的參數(shù)列表就是父類構(gòu)造函數(shù)的參數(shù)列表,如果參數(shù)為空,就采用父類的參數(shù)默認(rèn)值必須放在構(gòu)造函數(shù)第一行繼承傳遞參數(shù)是一個屬性,不是方法是一個屬性
1.基本定義和生成實例
{ class Parent { constructor(name = "haha") { this.name = name; } } let parent = new Parent("v"); console.log("構(gòu)造函數(shù)和實例", 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.繼承傳遞參數(shù)
{ class Parent { constructor(name = "haha") { this.name = name; } } class Child extends Parent { constructor(name = "child") { // super()方法,用來解決 繼承怎么傳遞參數(shù)(怎么覆蓋父類的參數(shù)) // super的參數(shù)列表就是父類構(gòu)造函數(shù)的參數(shù)列表,如果參數(shù)為空,就采用父類的參數(shù)默認(rèn)值 super(name); // super必須放在構(gòu)造函數(shù)第一行 this.type = "child"; } } console.log("繼承傳遞參數(shù)", 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.靜態(tài)方法
{ class Parent { constructor(name = "haha") { this.name = name; } // static 關(guān)鍵字用來定義靜態(tài)方法 static tell() { console.log("do tell"); } } // 靜態(tài)方法,直接通過類去調(diào)用,不是通過實例 Parent.tell(); // do tell }
6.靜態(tài)屬性
{ class Parent { constructor(name = "haha") { this.name = name; } } // 直接在類上定義靜態(tài)屬性 Parent.type = "test"; // 讀取靜態(tài)屬性時,也是直接拿類讀取 console.log(Parent.type); // test }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/98713.html
摘要:靜態(tài)屬性靜態(tài)方法目前支持靜態(tài)方法表示,類屬性及靜態(tài)屬性目前作為提案還未正式成為標(biāo)準(zhǔn)。在中,抽象類不能用來實例化對象,主要做為其它派生類的基類使用。不同于接口,抽象類可以包含成員的實現(xiàn)細(xì)節(jié)。中也是這樣規(guī)定的抽象類不允許直接被實例化。 嘗試重寫 在此之前,通過《JavaScript => TypeScript 入門》已經(jīng)掌握了類型聲明的寫法。原以為憑著那一條無往不利的規(guī)則,就可以開開心心的...
摘要:類的實現(xiàn)轉(zhuǎn)換前轉(zhuǎn)換后可見的底層依然是構(gòu)造函數(shù)調(diào)用方法判斷當(dāng)前函數(shù)調(diào)用前是否有關(guān)鍵字。若構(gòu)造函數(shù)前面沒有則構(gòu)造函數(shù)的不會不出現(xiàn)在的原型鏈上,返回。典型的寄生繼承用父類構(gòu)造函數(shù)的創(chuàng)建一個空對象,并將這個對象指向子類構(gòu)造函數(shù)的。代表父類構(gòu)造函數(shù)。 在閱讀文章之前,您至少需要對JavaScript原型繼承有一定了解,如果覺得有所欠缺,可以先了解下我這篇文章:https://segmentfau...
摘要:提供了完整的環(huán)境,并且支持自定義域名指向,動態(tài)計算資源調(diào)整,可以完成各種應(yīng)用的開發(fā)編譯與部署。 react 新特性 react16 Context 算法相關(guān) 圖解排序算法(二)之希爾排序 微信小程序 微信小程序組件化的解決方案移動端尺寸基本知識 瀏覽器 前端必讀:瀏覽器內(nèi)部工作原理瀏覽器緩存原理解讀瀏覽器加載css和js及dom解析之間的關(guān)系瀏覽器緩存 CSS學(xué)習(xí) 移動web開發(fā)布局入...
摘要:額,經(jīng)歷過上面的知識了解,應(yīng)該能大概夠理解這段代碼了吧小結(jié)修飾器允許你在類和方法定義的時候去注釋或者修改它。 閑言 一切都要從公司里的一位老哥給我看的一段代碼說起。。。 @controller(/user) @auth @post(/login) async userLogin = (name, pass) => { @required // ... } 以下為對話:...
摘要:因為中,如果函數(shù)沒有返回值,則會默認(rèn)返回。抽象類在運(yùn)行時是可見的,可以通過判斷。接口只能描述類的公共部分,不會檢查私有成員,而抽象類沒有這樣的限制。本片文章主要講述了TypeScript的基礎(chǔ)知識點(diǎn),這些是我個人的理解,如有不正確的地方請評論斧正! 文章以下面的順序講解: 變量類型 函數(shù) 類 接口 泛型 命名空間 在開始之前我們先裝環(huán)境: npm i typescript -g //全局...
閱讀 2473·2021-09-27 13:36
閱讀 2170·2019-08-29 18:47
閱讀 2136·2019-08-29 15:21
閱讀 1401·2019-08-29 11:14
閱讀 1987·2019-08-28 18:29
閱讀 1631·2019-08-28 18:04
閱讀 577·2019-08-26 13:58
閱讀 3214·2019-08-26 12:12