Creator3D 脚本循环引用导致对象Null的问题有办法解决吗

类A继承类B,
类B调用类C,
类C调用类A和类B
运行必定报异常,游戏进不去

TypeError: Super expression must either be null or a function。

异常说明是A继承的父类B不能是null,必须是function

代码脚本有几十个,要完全避开循环调用真的很难,如果这个问题解决不了,写大型一点的项目根本写不了

既然是这样,那说明代码结构也很乱,不如趁早重构,本身这种循环调用就不合理

带有循环引用的解决方式.
1.使用接口来避免.
2.引用对象使用 let clazzA:import(“xxx”).default 或者 let clazzA:import(“xxx”).xxx 直接在参数上引用类型.
3.在使用的 xxx.ts文件 引用的其他类 使用 declare 声明一下

在一些面向对象的高级语言种,如java c# A调用B 并且 B调用A是很普通的事,怎么叫结构混乱,而且creator2.x这样写也是没问题的,只是creator3d会报错

多见于立即运行模式的代码,尽量避免这种。
实际上java C#那些,他们本身有一个阶段性编译的过程,而且所有的代码块都是包装在类里面的,运行的时候其实整个程序框架都可见了,自然就不会有循环引用的问题。