Inheritance 在运行时在超类中使用子类,而无需循环导入ES6
我正在使用ES6,如果有必要的话,可以浏览一下 我有一个名为Inheritance 在运行时在超类中使用子类,而无需循环导入ES6,inheritance,ecmascript-6,reference,runtime,Inheritance,Ecmascript 6,Reference,Runtime,我正在使用ES6,如果有必要的话,可以浏览一下 我有一个名为Entity 我有一个名为Explosion的子类。换句话说,爆炸扩展了实体 我在实体上有一个名为分解的方法,我想在其中实例化一个分解 我不希望在Entity.js中导入Explosion,因为这将创建循环依赖项 实际上,我不需要在编译时立即提供爆炸。我将不需要它,直到很久以后在运行时 在运行时,实体上的方法中的爆炸无需导入,如何正确且干净地使其可供引用 我尝试过的 我读了一些有意义的东西。我在ES5中也做了同样的事情,但方式更加迂回
Entity
我有一个名为Explosion
的子类。换句话说,爆炸
扩展了实体
我在实体
上有一个名为分解
的方法,我想在其中实例化一个分解
我不希望在Entity.js
中导入Explosion,因为这将创建循环依赖项
实际上,我不需要在编译时立即提供爆炸。我将不需要它,直到很久以后在运行时
在运行时,实体
上的方法中的爆炸
无需导入,如何正确且干净地使其可供引用
我尝试过的
我读了一些有意义的东西。我在ES5中也做了同样的事情,但方式更加迂回
我确实尝试了export default()=>class Explosion
,它确实有效,并且确实使Explosion
作为一个类可用
但是,检查实体的爆炸实例是否将返回false
这是不可取的,因为我有适当的断言来避免任何错误,这将导致检查失败