我正在尝试创建Google地图覆盖视图。我在ES5中有这个代码告诉我在我的标记原型中初始化一个对象,如下所示:
MainMarker.prototype = new google.maps.OverlayView();
如何将其完全转换为ES6?
对于继承,例如Child.prototype = Object.create(Parent.prototype)
,在ES6中,我们可以像
class Child extends Parent {
constructor () {
super();
}
}
但是第一个怎么样?
答案 0 :(得分:2)
我在ES5中有这个代码告诉我在我的标记原型中初始化一个对象,如下所示:
MainMarker.prototype = new google.maps.OverlayView();
这never was the correct way in ES5 1 无论如何,所以不要试图保持不良做法。
只是去
class MainMarker extends google.maps.OverlayView { … }
1:在这种特定情况下,无论使用new
还是Object.create
都没有区别,API docs明确指出" OverlayView
构造函数保证是一个空函数。"。谷歌可能在他们的例子中使用了以前的语法,因为它更向后兼容。