Skip to main content
Brave Programmer Logo

BraveProgrammer

BraveProgrammer

HomeProjectsBlogsCoursesLessonsAbout

Site footer

BraveProgrammer

Free coding courses, practical tutorials, and real projects from BraveProgrammer. Learn web development with React, Next.js, and TypeScript.

Navigation

  • Home
  • Projects
  • Blogs
  • Courses

Resources

  • About
  • Lessons

© 2026 BraveProgrammer. All rights reserved.

  1. Courses
  2. /
  3. TypeScript Mastery

Lesson 16 of 56 · Typescript

Recursive Types

Duration: 15 minutes

Recursive Type Definitions

Used for hierarchical data like trees or linked structures.

type TreeNode<T> = {
  value: T;
  children?: TreeNode<T>[];
};

const root: TreeNode<string> = {
  value: "root",
  children: [{ value: "child" }]
};

JSON Recursive Types

When encoding/decoding JSON, recursive types help keep type safety.

interface Comment {
  id: number;
  text: string;
  replies?: Comment[]; // recursive reference
}

Info

Avoid infinite recursion in type definitions – always make the recursive property optional or an array.

Previous: Tuples & ReadonlyArrayNext: Classes – Public, Private, Protected