Typescript
readonly modifier (Classes)
Fields may be prefixed with the readonly modifier. This prevents assignments to the field outside of the constructor.
Utility Types
Partial<Type> Required<Type> Readonly<Type> Record<Keys, Type> Pick<Type, Keys> Omit<Type, Keys> Exclude<UnionType, ExcludedMembers> Extract<Type, Union> NonNullable<Type> Parameters<Type> ConstructorParameters<Type> ReturnType<Type> InstanceType<Type> ThisParameterType<Type> OmitThisParameter<Type> ThisType<Type>
Typeof Type Operator
TypeScript adds a typeof operator you can use in a type context to refer to the type of a variable or property
Intrinsic String Manipulation Types
Uppercase<StringType> Lowercase<StringType> Capitalize<StringType> Uncapitalize<StringType>
Indexed Access Types
Use to look up a specific property on another type
--strictPropertyInitialization
strictPropertyInitialization setting controls whether class fields need to be initialized in the constructor. Note that the field needs to be initialized in the constructor itself. TypeScript does not analyze methods you invoke from the constructor to detect initializations, because a derived class might override those methods and fail to initialize the members.
Keyof Type Operator
takes an object type and produces a string or numeric literal union of its keys