在 TypeScript 中扩展和实现 class

extends and implements in one class in TypeScript

我可以在 TypeScript 中执行此操作吗?

export interface IMyInterface {
  doSomething(): void;
}

export class MyBaseClass {
  myBaseClassHasProperty: string;

  constructor(){
    this.myBaseClassHasProperty = 'some value';
  }
  myBaseClassHasMethods(): void {
    console.log(this.myBaseClassHasProperty);
  }
}

export class MyClass extends MyBaseClass implements IMyInterface {
  constructor() {
    super();
  }

  doSomething(): void {
    this.myBaseClassHasMethods();
  }
}

在运行时抛出:

Uncaught ReferenceError: MyBaseClass is not defined

in runtime i get this Uncaught ReferenceError: MyBaseClass is not defined

是的,你可以做到。您发布的代码可以正常工作。

但是我怀疑在你的实际代码中你将它拆分成多个文件并且MyBaseClass未执行之前MyClass 的代码。

修复 JavaScript 排序或使用外部模块让模块加载程序确定排序。