What is the difference between ‘abstract new (…args: any[]) => T’ and ‘new (…args: any[]) => T’ as a type?

TypeScript Professional Hard

TypeScript Professional — Hard

What is the difference between ‘abstract new (…args: any[]) => T’ and ‘new (…args: any[]) => T’ as a type?

Key points

  • 'abstract new' accepts abstract classes; 'new' only accepts directly instantiable classes
  • Abstract constructors can be used with abstract classes
  • Concrete constructors are limited to classes that can be instantiated directly

Ready to go further?

Related questions