首页 > 解决方案 > 如何让提升为扩展课程工作?

问题描述

我在谈论:

class MyAction {
}
class MyActionEdit extends MyActionNew { // <-- error pointing here
}
class MyActionNew extends MyAction {
}

我收到以下错误:Uncaught ReferenceError: Cannot access 'MyActionNew' before initialization.

在加载所有 js 之前,我没有创建实例。所以我不明白,为什么吊装在这里不起作用。问题是:我无法更改类定义的顺序(它们从各种文件中加载并组合到一个大脚本中 - 在本示例中为 3 个组合文件)。

我已经阅读了这个和许多其他问题,但没有一个回答我的问题。

这在这里工作例如:

class MyAction {
}
let test: MyActionNew = new MyActionNew(); // <- Hoisting works here
class MyActionEdit extends MyAction {
}
class MyActionNew extends MyAction {
}

我该如何处理?我不知道这是否有帮助,但我正在使用打字稿来生成 javascript 文件。可能有事吗?

相关: Typescript 类:当我使用两个类时会提升类吗?

我已经在stackoverflow上阅读了所有带有“提升”标签的问题,但没有找到答案。

标签: javascripttypescripthoisting

解决方案



推荐阅读