This repository contains my TypeScript learning journey, from the fundamentals to deeper concepts about how TypeScript works internally.
The goal is not just to write TypeScript code, but to understand the core ideas, type system, compiler, and development workflow behind TypeScript.
- TypeScript fundamentals and core concepts
- Type inference and type annotations
- Type system and common types
- TypeScript compiler and compilation pipeline
- Parser, AST, Binder, Type Checker and Emitter
- Practical TypeScript examples and experiments
- Notes and explanations for the topics I learn
typescript-learning/
│
├── src/ # TypeScript source code
├── dist/ # JavaScript generated from TypeScript
├── topics/ # Learning notes and topic READMEs
└── README.md # Repository overview
Contains the TypeScript code I write while learning and experimenting.
Contains the JavaScript output generated from the TypeScript source.
Contains my notes and READMEs for the concepts I learn.
This is a learning repository, not a production project.
I'm using it to:
Learn → Experiment → Understand → Document
The repository will grow as I continue learning TypeScript.
I'm currently learning TypeScript through the Chai aur Code TypeScript playlist and documenting my understanding, experiments, and notes in this repository.
Primary learning source: Chai aur Code — TypeScript Playlist
Learning in progress...
More TypeScript concepts, experiments, and notes will be added as I continue.
-
Type inference & annotations
-
Primitive types
-
Union & literal types
-
any,unknown,never -
Type narrowing
-
Type predicates / custom guards
-
Type assertions
-
type&interface -
implements -
Intersection types
-
Optional &
readonlyproperties -
Basic understanding of the compiler
- Parser
- AST
- Binder
- Type Checker
- Emitter
-
Functions deeply
- Parameter/return types
- Optional/default parameters
- Function types
- Call signatures
- Overloads
-
Objects & advanced types
keyoftypeof- Indexed access types
in- Mapped types
- Conditional types
- Template literal types
-
Generics ⭐
- Generic functions
- Generic interfaces/types
- Constraints
extends- Generic classes
-
Arrays / Tuples / Enums
-
Classes deeply
- Access modifiers
public/private/protectedabstractstatic- getters/setters
- inheritance
-
Modules
import/export- Module resolution
-
Utility Types ⭐
PartialRequiredPickOmitRecordReadonlyReturnTypeParameters- etc.
-
Advanced TypeScript
- Declaration files
.d.ts tsconfig- Strict mode
- Type compatibility
- Structural typing
- Declaration merging
infer
- Declaration files
-
Practical TypeScript
- TypeScript + Node.js
- TypeScript + Express/FastAPI-style backend concepts
- API typing
- npm/package typing
- Real project structure
Don't worry about "finishing 100% of TypeScript." For backend/AI engineering + interviews, I'd prioritize:
Fundamentals → Functions → Generics → Classes → Utility Types → Advanced Types → tsconfig → Real project