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