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

資訊專欄INFORMATION COLUMN

【ES6入門11】:類和對象

vboy1010 / 1106人閱讀

摘要:基本定義和生成實例構(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

相關(guān)文章

  • JavaScript => TypeScript 類入門

    摘要:靜態(tài)屬性靜態(tài)方法目前支持靜態(tài)方法表示,類屬性及靜態(tài)屬性目前作為提案還未正式成為標(biāo)準(zhǔn)。在中,抽象類不能用來實例化對象,主要做為其它派生類的基類使用。不同于接口,抽象類可以包含成員的實現(xiàn)細(xì)節(jié)。中也是這樣規(guī)定的抽象類不允許直接被實例化。 嘗試重寫 在此之前,通過《JavaScript => TypeScript 入門》已經(jīng)掌握了類型聲明的寫法。原以為憑著那一條無往不利的規(guī)則,就可以開開心心的...

    geekidentity 評論0 收藏0
  • es6類和繼承的實現(xiàn)原理

    摘要:類的實現(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...

    haitiancoder 評論0 收藏0
  • 前端學(xué)習(xí)資源

    摘要:提供了完整的環(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ā)布局入...

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

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

    LancerComet 評論0 收藏0
  • TypeScript基本知識點(diǎn)整理(看完絕對入門---真的!!)

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

    Yi_Zhi_Yu 評論0 收藏0

發(fā)表評論

0條評論

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