TypeScript Literal Types

In TypeScript, literals allow us to specify a set of exact values that a type can have in it’s lifespan. We can assume a literal as it as an ‘enum’ which is a named group of constants of given type.

Literal types can be of 3 types:

  • string
  • number
  • boolean

1. Literal Type Syntax

Use ‘pipe’ symbol between different allowed values for a given type literal. For example, below given code is for an string literal.

type myVar = "value1" | "value2" | "value3" | "value4";
type AppStatus = "ACTIVE" | "INACTIVE" | "ONHOLD";	
type countMe = 1 | 2 | 3 | 4 | 5;
type result = true | false;	

2. Working with Literal Types

To understand better, let’s see how we can use a string literal and how we cannot.

  1. Variable Assignment

    We can assign only one of the allowed values to the literal type variable. Else it will be compile time error.

    type AppStatus = "ACTIVE" | "INACTIVE" | "ONHOLD";
    
    let currStatus: AppStatus;
    
    currStatus = "ACTIVE";		//OK
    
    currStatus = "DELETED";		//Error - Type '"DELETED"' is not 
    							//assignable to type 'AppStatus'
    
  2. Function Parameter

    We can pass only one of the allowed values to literal type argument to a method. Else it will be compile time error.

    type AppStatus = "ACTIVE" | "INACTIVE" | "ONHOLD";
    
    function showMe(currentStatus: AppStatus): void {
    	console.log(currentStatus);
    }
    
    showMe('ACTIVE');	//OK - Print 'ACTIVE'
    
    showMe('DELETED');	//Compile time Error
    

Happy Learning !!

Was this post helpful?

Join 7000+ Awesome Developers

Get the latest updates from industry, awesome resources, blog updates and much more.

* We do not spam !!

Leave a Comment

HowToDoInJava

A blog about Java and related technologies, the best practices, algorithms, and interview questions.