javascript - 如何在类中正确定义抽象方法,如果未实现抽象方法,IDE 会提示?

标签 javascript typescript

如何在抽象类中正确定义抽象方法?我希望 IDE 告诉我必须实现该抽象方法。

我尝试了以下方法,但没有成功:

export abstract class MyAbstractClass {

   /**
    * @abstract
    */
   public submit() {
      throw new Error('This class must be implemented')
   }
}

The question is: how can we make the IDE to complain if you don't implement the abstract method ?

最佳答案

试试这个:

export abstract class MyAbstractClass {
   // we shouldn't declare the body of abstract method
   abstract submit(): void;
}

//...

class MyClass extends MyAbstractClass {
}

你会看到 ide 提示: enter image description here

你在问题​​示例中所做的事情是一个众所周知的 ES6 hack emulating abstract classes 。但 TypeScript 支持开箱即用的抽象类。更多详情,您可以查看official documentation on classes .

还创建了一个stackblitz demo ,你可以查看一下。

关于javascript - 如何在类中正确定义抽象方法,如果未实现抽象方法,IDE 会提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52040568/

相关文章:

javascript - Selenium 可以注意到脚本错误吗?

typescript - 如何在不破坏 localStorage 类型的情况下存储和获取对象?

javascript - Prettier Config 是否存在用于格式化 Switch 语句?

TypeScript:有没有办法对函数 arity 进行类型检查?

Angular HttpClient 映射对象的可观察数组

javascript - 将类导入到全局范围

javascript - 具有动态 templateUrl 方法的嵌套指令失败

javascript - jQuery .click() 适用于除 Safari 以外的所有浏览器

javascript - 标准化 &lt;input&gt;、<select> 和 <button> 的全高和全宽

javascript - 分块 WebSocket 传输