# E0244: abstract classes are not allowed in JavaScript

Marking classes as `abstract` is a TypeScript feature. It is a syntax error to write `abstract` before `class` in JavaScript:

    abstract class Logger {
      log(message) {
        this.logRaw(LogSeverity.INFO, message);
      }
    }

    class ConsoleLogger extends Logger {
      logRaw(severity, message) {
        console.log(message);
      }
    }

To fix this error, remove the `abstract` keyword and rely on JavaScript's dynamic typing:

    class Logger {
      log(message) {
        this.logRaw(LogSeverity.INFO, message);
      }
    }

    class ConsoleLogger extends Logger {
      logRaw(severity, message) {
        console.log(message);
      }
    }

Introduced in quick-lint-js version 2.6.0.

Documentation for other errors