0
我正在嘗試創建Google地圖疊加視圖。我在這裏有這個代碼在ES5告訴我要在我的標誌原型初始化對象象下面這樣:我應該如何將原型初始化轉換爲ES6
MainMarker.prototype = new google.maps.OverlayView();
如何準確地將它轉換爲ES6?
繼承,如Child.prototype = Object.create(Parent.prototype)
,這在ES6,我們可以編寫
class Child extends Parent {
constructor() {
super();
}
}
但如何來約與第一個?
我不明白'Child.prototype = Parent.prototype'與'Child.prototype = Object.create(Parent.prototype)'之間的區別,我相信'Object.create'會創建一個' Parent.prototype'但不初始化。在這種情況下,Child.prototype = new Parent(),它是不是初始化** Child的**原型對象? – cs1193
最佳做法與否,OP會特別詢問ES5 – terpinmd
@ cs1193首先根本不會創建副本,只是使用相同的對象。 'Object.create()'確實創建了一個從參數繼承的新對象。 'new Parent()'確實會初始化我們不想要的原型對象。另請參見[here](https://stackoverflow.com/a/17393153/1048572?Benefits-of-using-Object.create-for-inheritance)和[here](https://stackoverflow.com/questions/11088365/why-wouldnt-i-use-child-prototype-parent-prototype-rather-child-prototype-new-parent) – Bergi