es6中的super怎麼這麼多的歧義

時間 2021-06-03 20:29:30

1樓:DisLido

感受一下

classAf

()f1

()f3

(){}

}class

BextendsA}

newB

();其實可以這樣理解:在上例中把super當作A.prototype,在B中不允許通過super對A的prototype直接做改動,如果你試圖對A的prototype做改動,那麼改動將會指向this

但是可以對A的prototype上的物件的成員(這裡目前只有函式)做改動,畢竟人家只管的到自己的引用,管不到引用到的物件

第2個例子。。。再感受一下。。。

console.log(super.valueOf() === this.valueOf()); // true

console.log(super.valueOf === this.valueOf); // true

是不是感到很神奇?再寫一行你就明白了

console.log(super.valueOf === Object.prototype.valueOf); // true

這就是super.valueOf() instanceof B的原因

ES6中的關鍵字super該如何理解?

class Cat speak speak a.speak Tom makes a noise.let b new Lion Simba orange console.log b Lion b.speak Simba makes a noise.Simba roars.console.log obj...

為何如此多的前端吹捧ES6

丁向明 我也是最近也剛開始了解es6 的,剛看沒多少,又被告知現階段要babel轉譯才能用 既然是這樣,就等將來瀏覽器都普及es6了在學唄 有沒有跟我一樣想法的人? 大蟲子菌 歷史的車輪滾滾向前,現在是2018年1月1日,已經有很多人開始吹捧TypeScript了。展望一下WebAssembly,也...

es6語法怎麼優雅的傳參?

Code Hz 如果不追求效能的話。可以有非常浮誇的傳參方式。o arr param arr forEach x i x.trim t x.trim match 0 param i returnt o centerX centerY x y tx ty radius color 其中1可以被替換成任...