Namespaces versus módulos: uso moderno
Entenda por que os módulos são preferidos aos namespaces
Namespaces versus módulos: uso moderno é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de TypeScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de TypeScript Academy inclui 4 aulas no total.
Boas-vindas
O que é um espaço de nomes
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);
}
}Acessando membros de um espaço de nomes
const p1: Geometry.Point = { x: 0, y: 0 };
const p2: Geometry.Point = { x: 3, y: 4 };
const d = Geometry.distance(p1, p2); // 5Espaços de nomes aninhados
namespace App {
export namespace Models {
export interface User { name: string; }
}
}
const u: App.Models.User = { name: 'Alice' };Mesclagem de espaços de nomes
namespace Validation {
export function validate(s: string): boolean { return s.length > 0; }
}
namespace Validation {
export function sanitize(s: string): string { return s.trim(); }
}Por que os módulos são preferidos
O equivalente em módulos a um espaço de nomes
// geometry.ts
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);
}Espaços de nomes ainda usados em arquivos de declaração
// node.d.ts
declare namespace NodeJS {
interface ProcessEnv { NODE_ENV?: 'development' | 'production'; }
}Referências de barra tripla (legado)
/// <reference types="node" />
/// <reference path="./other.d.ts" />Quando ainda usar espaços de nomes
Migrando de espaços de nomes para módulos
Verificação rápida
Recapitulação
Perguntas Frequentes
A aula “Namespaces versus módulos: uso moderno” é grátis?
Sim — o texto completo de “Namespaces versus módulos: uso moderno” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de TypeScript Academy, atualize para CoddyKit PRO. O curso de TypeScript Academy inclui 4 aulas no total.
O que vou aprender em “Namespaces versus módulos: uso moderno”?
Entenda por que os módulos são preferidos aos namespaces Você pratica TypeScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar TypeScript Academy?
Nenhuma experiência prévia é necessária. TypeScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Namespaces versus módulos: uso moderno”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de TypeScript Academy?
Sim. Cada aula de TypeScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Sintaxe de módulos ES: import e export
- Reexportações e arquivos de agregação
- Importações e exportações somente de tipos
- Namespaces versus módulos: uso moderno