Optional members

We can define optional class properties and methods by appending the ? character at the end of the name of a property or method. This behavior is like the behavior that we observed in Chapter 3, Working with Functions, when we learned how to use the ? character to declare optional arguments in a function.

The following code snippet defines a class named Vector with an optional property named z. When we define a Vector instance using numeric values for the properties x and y, the Vector has two dimensions. When we define a Vector instance using numeric values for the properties x, y, and z, the Vector has three dimensions:

class Vector { public constructor( public x: number, public y: number, public z?: number ) {} public ...

Get Learning TypeScript 2.x - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.