摘要:值得注意的是與完全不同的是不能通過父類參數(shù)來實現(xiàn)因為子類在沒有調(diào)用父類的之前實例是沒有的。
使用class
class Miaov{ constructor (a,b){ //構(gòu)造對象的時候需要傳遞的對象 this.a=a; this.b=b; return this; //注意這里的return的值 } print(){ console.log(this.a+this.b) } } let mm=new Miaov(1,2); mm.print(); //2
同時值得注意的是typeof Miaov 會返回function 所以class 只是一個語法糖
Miaov中的constructor方法是構(gòu)造方法 this關(guān)鍵字代表的是實例對象 定義在class中的方法都是相當于定義在Miaov.prototype上邊
與es5不同的是 es5中的構(gòu)造函數(shù)可以直接調(diào)用 但是如果通過es6中的class聲明的類不能直接調(diào)用
在class中定義的方法都需要return this 這樣才可以進行鏈式調(diào)用
一個類必須有constructor 沒有的話 class會使用一個空的構(gòu)造函數(shù)(這個構(gòu)造函數(shù)什么都不會做)
定義在類中的方法都是不可以被枚舉的
在子類中的構(gòu)造函數(shù)中必須先通過 super調(diào)用父類中的構(gòu)造函數(shù)。值得注意的是與es5完全不同的是不能通過父類.call(this,參數(shù))來實現(xiàn) 因為子類在沒有調(diào)用父類的constructor之前實例是沒有this的。
所以如果在子類的構(gòu)造函數(shù)中需要使用this 必須先使用super() 來生成實例以后再使用this
super這個關(guān)鍵字不能在子類的其他方法中調(diào)用 除了子類的構(gòu)造函數(shù)
當出現(xiàn)在其他非構(gòu)造方法中的時候 指的是父類的原型對象 不能當做函數(shù)調(diào)用
子類會繼承父類多有的方法(包括靜態(tài))
static 方法 就將這個方法指定為靜態(tài)方法
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/88698.html
摘要:使用類創(chuàng)建實例對象也是直接對類使用命令,跟中構(gòu)造函數(shù)的用法一致。中沒有構(gòu)造函數(shù),作為構(gòu)造函數(shù)的語法糖,同時有屬性和屬性,因此同時存在兩條繼承鏈。子類的屬性,表示構(gòu)造函數(shù)的繼承,總是指向父類。 1 Class in ES6 ES6提出了類(Class)的概念,讓對象的原型的寫法更像面向?qū)ο笳Z言寫法。 ES6中通過class定義對象,默認具有constructor方法和自定義方法,但是包含...
摘要:使用類創(chuàng)建實例對象也是直接對類使用命令,跟中構(gòu)造函數(shù)的用法一致。中沒有構(gòu)造函數(shù),作為構(gòu)造函數(shù)的語法糖,同時有屬性和屬性,因此同時存在兩條繼承鏈。子類的屬性,表示構(gòu)造函數(shù)的繼承,總是指向父類。 1 Class in ES6 ES6提出了類(Class)的概念,讓對象的原型的寫法更像面向?qū)ο笳Z言寫法。 ES6中通過class定義對象,默認具有constructor方法和自定義方法,但是包含...
摘要:一般我們對這種構(gòu)造函數(shù)命名都會采用,并把它稱呼為類,這不僅是為了跟的理念保持一致,也是因為的內(nèi)建類也是這種命名。由生成的對象,其是。這是標準的規(guī)定。本文的主題是原型系統(tǒng)的變遷,所以并沒有涉及和對原型鏈的影響。 概述 JavaScript 的原型系統(tǒng)是最初就有的語言設(shè)計。但隨著 ES 標準的進化和新特性的添加。它也一直在不停進化。這篇文章的目的就是梳理一下早期到 ES5 和現(xiàn)在 ES6,...
摘要:因為操作符創(chuàng)建的對象都繼承自構(gòu)造函數(shù)的屬性。繼承的實現(xiàn)中常用的繼承方式是組合繼承,也就是通過構(gòu)造函數(shù)和原型鏈繼承同時來模擬繼承的實現(xiàn)。 原文發(fā)布在我的博客 我們都知道 JavaScript 是一門基于原型的語言。當我們調(diào)用一個對象本身沒有的屬性時,JavaScript 就會從對象的原型對象上去找該屬性,如果原型上也沒有該屬性,那就去找原型的原型,一直找原型鏈的末端也就是 Object....
摘要:新建一個類該函數(shù)返回一個類的實例給函數(shù)傳入通過立即調(diào)用類構(gòu)造函數(shù)可以創(chuàng)建單例。派生類是指繼承自其它類的新類。在構(gòu)造函數(shù)中訪問之前要調(diào)用,負責(zé)初始化。在構(gòu)造函數(shù)中使用通常表示當前的構(gòu)造函數(shù)名。 ES5中的近類結(jié)構(gòu) ES5以及之前的版本,沒有類的概念,但是聰明的JavaScript開發(fā)者,為了實現(xiàn)面向?qū)ο?,?chuàng)建了特殊的近類結(jié)構(gòu)。 ES5中創(chuàng)建類的方法:新建一個構(gòu)造函數(shù),定義一個方法并且賦值...
閱讀 1395·2021-11-04 16:11
閱讀 3059·2021-10-12 10:11
閱讀 2991·2021-09-29 09:47
閱讀 1627·2021-09-22 15:40
閱讀 1025·2019-08-29 15:43
閱讀 2814·2019-08-29 13:50
閱讀 1591·2019-08-29 13:28
閱讀 2698·2019-08-29 12:54