A literal type is a type that represents exactly one value, e.g. one specific string or number. You can combine literal types with union types to model a finite set of valid values for a variable. In this lesson, we explore the all kinds of literal types in TypeScript:
- String literal types
- Numeric literal types
- Boolean literal types
- Enum literal types
First String literal types:
let autoComplete: "on" | "off" | "ON" | "OFF";autoComplete = "On" // case sensitive, compiler error
Number literal types:
type NumberBase = 2 | 8 |10 | 16;let base: NumberBase;base = 2;base = 4; // error
Boolean literal types:
let autoFocus: true = true;autoFocus = false; // error
Enum literal types:
enum Protocols { HTTP, HTTPS, FTP}type HyperTextProtocol = Protocols.HTTP | Protocols.HTTPS;let protocol: HyperTextProtocol;protocol = Protocols.HTTP;protocol = Protocols.HTTPS;protocol = Protocols.FTP; // error