国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【ES6入門11】:類和對象

vboy1010 / 1100人閱讀

摘要:基本定義和生成實例構造函數和實例繼承繼承繼承傳遞參數方法,用來解決繼承怎么傳遞參數怎么覆蓋父類的參數的參數列表就是父類構造函數的參數列表,如果參數為空,就采用父類的參數默認值必須放在構造函數第一行繼承傳遞參數是一個屬性,不是方法是一個屬性

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 => TypeScript 入門》已經掌握了類型聲明的寫法。原以為憑著那一條無往不利的規則,就可以開開心心的...

    geekidentity 評論0 收藏0
  • es6類和繼承的實現原理

    摘要:類的實現轉換前轉換后可見的底層依然是構造函數調用方法判斷當前函數調用前是否有關鍵字。若構造函數前面沒有則構造函數的不會不出現在的原型鏈上,返回。典型的寄生繼承用父類構造函數的創建一個空對象,并將這個對象指向子類構造函數的。代表父類構造函數。 在閱讀文章之前,您至少需要對JavaScript原型繼承有一定了解,如果覺得有所欠缺,可以先了解下我這篇文章:https://segmentfau...

    haitiancoder 評論0 收藏0
  • 前端學習資源

    摘要:提供了完整的環境,并且支持自定義域名指向,動態計算資源調整,可以完成各種應用的開發編譯與部署。 react 新特性 react16 Context 算法相關 圖解排序算法(二)之希爾排序 微信小程序 微信小程序組件化的解決方案移動端尺寸基本知識 瀏覽器 前端必讀:瀏覽器內部工作原理瀏覽器緩存原理解讀瀏覽器加載css和js及dom解析之間的關系瀏覽器緩存 CSS學習 移動web開發布局入...

    zhisheng 評論0 收藏0
  • 簡單了解一下ES6的修飾器

    摘要:額,經歷過上面的知識了解,應該能大概夠理解這段代碼了吧小結修飾器允許你在類和方法定義的時候去注釋或者修改它。 閑言 一切都要從公司里的一位老哥給我看的一段代碼說起。。。 @controller(/user) @auth @post(/login) async userLogin = (name, pass) => { @required // ... } 以下為對話:...

    LancerComet 評論0 收藏0
  • TypeScript基本知識點整理(看完絕對入門---真的?。。?/b>

    摘要:因為中,如果函數沒有返回值,則會默認返回。抽象類在運行時是可見的,可以通過判斷。接口只能描述類的公共部分,不會檢查私有成員,而抽象類沒有這樣的限制。本片文章主要講述了TypeScript的基礎知識點,這些是我個人的理解,如有不正確的地方請評論斧正! 文章以下面的順序講解: 變量類型 函數 類 接口 泛型 命名空間 在開始之前我們先裝環境: npm i typescript -g //全局...

    Yi_Zhi_Yu 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<