Namespaces vs Modules: Modern Usage
Understand why modules are preferred over namespaces.
Welcome
TypeScript originally had namespaces (formerly 'internal modules') to organize code. Modern TypeScript uses ES modules instead. This lesson explains when each is appropriate.
What Is a Namespace
A namespace is a TypeScript-specific way to group related code under a named scope using the `namespace` keyword.
namespace Geometry {
export interface Point { x: number; y: number; }
export function distance(a: Point, b: Point): number {
return Math.sqrt((a.x - b.x) ** 2 + (a.y - b.y) ** 2);
}
}All lessons in this course
- ES Module Syntax: import and export
- Re-exports and Barrel Files
- Type-Only Imports and Exports
- Namespaces vs Modules: Modern Usage