TypeScript Syntax

Type Aliases, Union Types, Literal Types, Index Signature

You can find different usages of Type Aliases in the following demo code.

Type Aliases is defined with type word.

Union Types is defined with the | character to separate the different possible types.

Literal Types can be string, number or boolean

type SelectedEvent = "Click"; // string literal type

const buttonEvent: SelectedEvent = "Click";
type Color = "Red" | "Green" | "Blue"; // string literal type with union type

const buttonForeColor: Color = "Red";
type num = 1 | 3 | 5 | 7 | 9; // number literal type with union type
type bool = true | false; // boolean literal type with union type

type TRUE = true;

type FALSE = false;

Index Signature is defined as below

type Dictionary = {
    [index: string]: any;
};

const person: Dictionary = {
    "firstName": "Kenan",
    "lastName": "Hancer",
    "age": 36
};
interface StringArray {
    [index: number]: string;
}

const names: StringArray = ["Bob", "Fred"];

let name1: string = names[0];

Type Aliases can be used with Union Types and Literal Types as below

type obj = {success: true} | {success: false}; // object
type Result<T> = { success: true, value: T } | { success: false, error: string | number }; // object
type PersonCommonFields = { firstName: string, lastName: string };
type Person = PersonCommonFields & { isDeleted: true | false };
type Name = string; // simple type
type NameResolver = () => string; // function
type NameOrResolver = Name | NameResolver;

Demo1

Continue reading