TypeScript Classes

TypeScript also treats classes as their own type:

class Foo { foo: number; }
class Bar { bar: string; }

class Baz { 
  constructor(foo: Foo, bar: Bar) { }
}

let baz = new Baz(new Foo(), new Bar()); // valid
baz = new Baz(new Bar(), new Foo());     // tsc errors

Like function parameters, classes sometimes have optional members. The same ?: syntax can be used on a class definition:

class Person {
  name: string;
  nickName?: string;
}

In the above example, an instance of Person is guaranteed to have a name, and might optionally have a nickName

Last updated