codingstuff.io
ExploreTutorialsProblemsCS Subjects
Get Started
ExploreTutorialsProblemsCS Subjects
Get Started
codingstuff.io

Master the art of building software through interactive tutorials, real-world problems, and guided projects.

Pune, Maharashtra, India

codingstuffmail@gmail.com

Product

  • Explore
  • Tutorials
  • Problems
  • CS Subjects

Company

  • About
  • Contact
  • Privacy Policy
  • Terms & Conditions
  • Sitemap

© 2026 codingstuff.io. All rights reserved.

Built with ❤️ for developers everywhere

/
/
All Tutorials
🔷

TypeScript

16 / 60 topics
15Interfaces in TypeScript16Type Aliases17Union Types18Intersection Types19Literal Types20Type Assertions
Tutorials/TypeScript/Type Aliases
🔷TypeScript

Type Aliases

Updated 2026-05-15
10 min read

Type Aliases

Introduction

In TypeScript, type aliases allow you to create new names for existing types. This feature is particularly useful for simplifying complex type expressions and improving code readability. By using type aliases, you can define custom types that encapsulate specific data structures or behaviors, making your code more maintainable and easier to understand.

Concept

A type alias in TypeScript is essentially a way to give a name to any type. You can use type aliases with primitives, unions, tuples, and even other complex types. The syntax for defining a type alias is straightforward:

type AliasName = ExistingType;

Here’s how you can break it down:

  • type: This keyword indicates that you are creating a type alias.
  • AliasName: This is the name of your new type, which should be descriptive and follow TypeScript naming conventions.
  • ExistingType: This is the original type you want to alias. It can be any valid TypeScript type.

Examples

Basic Type Aliases

Let's start with some simple examples using primitive types:

type StringAlias = string;
type NumberAlias = number;
type BooleanAlias = boolean;

let greeting: StringAlias = "Hello, TypeScript!";
let age: NumberAlias = 30;
let isStudent: BooleanAlias = true;

In this example, StringAlias, NumberAlias, and BooleanAlias are type aliases for the primitive types string, number, and boolean, respectively.

Object Type Aliases

Type aliases can also be used to define complex object types:

type User = {
  id: number;
  name: string;
  email: string;
};

let user1: User = {
  id: 1,
  name: "Alice",
  email: "alice@example.com"
};

Here, `User` is a type alias for an object with specific properties. This makes it easier to reuse the `User` type in multiple places throughout your code.

### Function Type Aliases

You can also create type aliases for function types:

```typescript
type Operation = (a: number, b: number) => number;

let add: Operation = (x, y) => x + y;
let subtract: Operation = (x, y) => x - y;

In this example, Operation is a type alias for a function that takes two numbers as arguments and returns a number. This allows you to define multiple functions with the same signature using the Operation type.

Union Type Aliases

Type aliases are particularly useful when working with union types:

type Status = "active" | "inactive" | "pending";

let userStatus: Status = "active";

Here, Status is a type alias for a union of string literals. This ensures that any variable assigned to userStatus can only have one of the specified values.

Recursive Type Aliases

Type aliases can also be recursive, which is useful for defining types like linked lists or trees:

type TreeNode = {
  value: number;
  left?: TreeNode;
  right?: TreeNode;
};

let tree: TreeNode = {
  value: 10,
  left: {
    value: 5,
    left: { value: 3 },
    right: { value: 7 }
  },
  right: {
    value: 15
  }
};

In this example, `TreeNode` is a recursive type alias that represents a node in a binary tree. Each node has a `value` and optional `left` and `right` children of the same type.

## What's Next?

Now that you have a good understanding of type aliases, the next step is to explore **Union Types**. Union types allow you to define a variable or parameter that can be one of several types, providing more flexibility in your TypeScript code.

By mastering both type aliases and union types, you'll be well-equipped to handle complex data structures and improve the robustness of your applications.

PreviousInterfaces in TypeScriptNext Union Types

Recommended Gear

Interfaces in TypeScriptUnion Types