如何解决在运行时在超类中使用子类,而无需循环导入ES6
我正在使用ES6,如果重要的话,请使用Browserify
我有一个名为Entity
我有一个名为Explosion
的子类。换句话说,Explosion
扩展了Entity
。
我在Entity
上有一个名为explode
的方法,我想在其中实例化一个Explosion
。
我不希望在import Explosion
中使用Entity.js
,因为这会产生循环依赖。
实际上,我不需要Explosion
在编译时立即可用。直到以后运行时,我才需要它。
在运行时,Explosion
可以在Entity
上的方法中被引用而无需导入的正确和干净的方法是什么?
我尝试过的事情
我读了this article,这很有意义。我对ES5所做的操作更加round回。
我确实尝试了export default () => class Explosion
,它确实有效,并且确实使Explosion
可以作为一个班级使用,
但是检查Explosion instanceof Entity
是否返回false。
这是不可取的,因为我有适当的断言来避免可能导致此检查的任何错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。