ES5/ES6 的繼承除了寫法以外還有什么區(qū)別


es5繼承

構(gòu)造函數(shù)册着、原型和實(shí)例的關(guān)系:每一個(gè)構(gòu)造函數(shù)都有一個(gè)原型對(duì)象指蚜,每一個(gè)原型對(duì)象都有一個(gè)指向構(gòu)造函數(shù)的指針涨椒,而每一個(gè)實(shí)例都包含一個(gè)指向原型對(duì)象的內(nèi)部指針。

1.原型鏈實(shí)現(xiàn)的繼承


2.借用構(gòu)造函數(shù)


3.組合繼承


4.原型式繼承


5.寄生式繼承


6.寄生組合式繼承

以上的繼承方法看紅寶書



ES5的繼承

es6繼承

class繼承免猾,class之間使用extends關(guān)鍵字

子類必須要再constructor方法中調(diào)用super方法猎提,否則新建實(shí)例會(huì)報(bào)錯(cuò)锨苏,這是因?yàn)樽宇悰]有自己的this對(duì)象,而是繼承父類的this對(duì)象伞租,然后對(duì)其進(jìn)行加工葵诈,如果不調(diào)用super方法作喘,子類就得不到this對(duì)象晕城。

prototype 和 __proto__

一個(gè)繼承語句同時(shí)存在于兩條繼承鏈:一條繼承屬性,一條實(shí)現(xiàn)方法的繼承

1 class A extends B{}

2 A.__proto__ === B;//繼承屬性

3 A.prototype.__proto__ == B.prototype;//繼承方法


區(qū)別:ES5的繼承實(shí)質(zhì)上是先創(chuàng)建子類的實(shí)例對(duì)象暇矫,然后再將父類的方法添加到this上(Parent.apply(this)).

ES6的繼承機(jī)制完全不同李根,實(shí)質(zhì)上是先創(chuàng)建父類的實(shí)例對(duì)象this(所以必須先調(diào)用父類的super()方法)几睛,然后再用子類的構(gòu)造函數(shù)修改this。

ES5的繼承時(shí)通過原型或構(gòu)造函數(shù)機(jī)制來實(shí)現(xiàn)夯接。

ES6通過class關(guān)鍵字定義類纷妆,里面有構(gòu)造方法,類之間通過extends關(guān)鍵字實(shí)現(xiàn)繼承掩幢。子類必須在constructor方法中調(diào)用super方法,否則新建實(shí)例報(bào)錯(cuò)芯丧。因?yàn)樽宇悰]有自己的this對(duì)象世曾,而是繼承了父類的this對(duì)象,然后對(duì)其進(jìn)行加工骗露。如果不調(diào)用super方法椒袍,子類得不到this對(duì)象藻茂。

注意super關(guān)鍵字指代父類的實(shí)例辨赐,即父類的this對(duì)象掀序。

注意:在子類構(gòu)造函數(shù)中惭婿,調(diào)用super后,才可使用this關(guān)鍵字换吧,否則報(bào)錯(cuò)沾瓦。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市风喇,隨后出現(xiàn)的幾起案子魂莫,更是在濱河造成了極大的恐慌耙考,老刑警劉巖鲸沮,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件讼溺,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡炫狱,警方通過查閱死者的電腦和手機(jī)剔猿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門酷含,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人椅亚,你說我怎么就攤上這事舱污。” “怎么了媚赖?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵珠插,是天一觀的道長(zhǎng)捻撑。 經(jīng)常有香客問我,道長(zhǎng)琳拭,這世上最難降的妖魔是什么白嘁? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任絮缅,我火速辦了婚禮耕魄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吸奴。我一直安慰自己允扇,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布则奥。 她就那樣靜靜地躺著考润,像睡著了一般。 火紅的嫁衣襯著肌膚如雪读处。 梳的紋絲不亂的頭發(fā)上糊治,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音罚舱,去河邊找鬼井辜。 笑死,一個(gè)胖子當(dāng)著我的面吹牛管闷,可吹牛的內(nèi)容都是我干的抑胎。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼渐北,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼赃蛛!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起歧蒋,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤阐虚,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后咸灿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年材蛛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出向抢,到底是詐尸還是另有隱情挟鸠,我是刑警寧澤鉴未,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站核蘸,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜袱吆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望狰晚。 院中可真熱鬧盟猖,春花似錦反镇、人聲如沸你弦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽茫负。三九已至朽褪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間踢匣,已是汗流浹背后专。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留甘畅,地道東北人埂蕊。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓疏唾,卻偏偏與公主長(zhǎng)得像荸实,于是被迫代替她去往敵國(guó)和親露氮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容