TypeScript Literal Types (original) (raw)

Last Updated : 21 Jan, 2025

TypeScript's literal types allow developers to specify exact values for variables, function parameters, or properties, enhancing type safety by ensuring variables can only hold predefined values.

Here are the types of literal types in TypeScript:

1. String Literal Types

String literal types allow a variable to accept only a specific set of string values.

JavaScript `

type Direction = "Up" | "Down" | "Left" | "Right";

let move: Direction;

move = "Up"; // Valid assignment // move = "Forward"; // Error: Type '"Forward"' is not assignable to type 'Direction'.

`

Output:

move = "Up"; // No error
move = "Forward"; // Compile-time error

**2. Numeric Literal Types

Numeric literal types restrict a variable to a specific set of numeric values..

JavaScript `

type DiceRoll = 1 | 2 | 3 | 4 | 5 | 6;

function rollDice(): DiceRoll { return 4; // Valid return value // return 7; // Error: Type '7' is not assignable to type 'DiceRoll'. }

`

**Output :

rollDice(); // Returns 4 without error
rollDice(); // Returning 7 causes a compile-time error

3. Boolean Literal Types

Boolean literal types constrain a variable to the boolean values true or false.

JavaScript `

type Success = true;

function operation(): Success { return true; // Valid return value // return false; // Error: Type 'false' is not assignable to type 'true'. }

`

**Output:

**operation(); // Returns true without error
**operation(); // Returning false causes a compile-time error

Best Practices for Using TypeScript Literal Types