关于ES5中的类继承?

最近在看Phaser3的示例代码,看到有段是这么写的:

var Flood = new Phaser.Class({

    Extends: Phaser.Scene,

    initialize:

    function Flood ()
    {
       ……
    }
})

看其中的Extends应该是继承的意思,这种写法跟es6中类的继承又不一样:

class Flood extends Phaser.Scene{
  
}

而es5中的继承又是基于原型继承,好像也不是这种写法(在网上截的图):
image.png
所以就很费解,Phaser中这种写法是怎么个原理呢?有大神知道吗?求问

阅读 1.4k
2 个回答

算是自己实现了一个类相关的内容。
就和早些年还没有ES6的Class时,TypeScript 也自己按照ECMA的标准超前实现了 Class 一样的。

这种应该是库里面自己定义的方法,你可以看下源码,应该是把extends当做参数进行继承操作的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题