Nullability

The following line aliases the dynamic type (*):

type UndefinedOrNullOrObject = *;

The following line aliases the Object type:

type ObjectNotUndefinedNorNull = Object;

The following line escapes o from either null or undefined:

o!

The following line escapes T from union with null and undefined:

type NonNullT = T!;

Unifying type with null

The following line:

type NullableT = T?;

is equivalent to:

type NullableT = null | T;

It can also be wrote with a ? prefix:

type NullableT = ?T;

Unifying type with undefined

type UndefinedOrT = undefined | T;