TypeScript Academy · Aula

Importações e exportações somente de tipos

Utilize import type para evitar custos adicionais em tempo de execução

Aula 3 de 413 etapas

Importações e exportações somente de tipos é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 3 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

As importações e exportações somente de tipo (import type / export type) foram introduzidas no TypeScript 3.8 para oferecer aos desenvolvedores controle explícito sobre o que é uma dependência de execução e o que é apenas um tipo.

Por que o uso somente de tipos é importante

As importações regulares podem incluir código de execução. Se você precisar apenas do tipo, a importação poderá ser completamente removida da saída compilada.
import { User } from './models'; // includes runtime binding
import type { User } from './models'; // compile-time only, erased

Sintaxe de import type

Coloque `type` depois da palavra-chave `import`. Você não pode usar o nome importado como um valor.
import type { ApiResponse } from './api-types';

function handleResponse(res: ApiResponse<User>): void {
  // ApiResponse used as type annotation only
}

Sintaxe de export type

Use `export type` para marcar explicitamente as exportações como somente de tipo.
// user.types.ts
export type UserId = string;
export type { User, UserRole };

Importação de tipo inline

O TypeScript 4.5 ou posterior permite marcar importações individuais como somente de tipo dentro de uma instrução de importação regular.
import { type User, createUser } from './user';
// User is type-only, createUser is a runtime value

Resolução de dependências circulares

As importações somente de tipo podem resolver problemas de dependências circulares porque não criam vínculos de execução.

verbatimModuleSyntax

O TypeScript 5.0 introduziu `verbatimModuleSyntax`. Quando essa opção está ativada, você MUST usar `import type` para importações somente de tipo e evitar confusões do empacotador.
// tsconfig.json
{ "compilerOptions": { "verbatimModuleSyntax": true } }

importsNotUsedAsValues

A opção do compilador `importsNotUsedAsValues` (substituída por verbatimModuleSyntax) controla como o TypeScript trata importações de valores não utilizadas.

Benefícios nos empacotadores

Empacotadores como Vite e esbuild usam marcadores `import type` para ignorar o processamento de importações de tipos, melhorando a velocidade da compilação.

Reexportações somente de tipo

Reexporte tipos sem incluir o módulo de execução correspondente.
// public-api.ts
export type { User, UserRole } from './internal-user';
export { createUser } from './internal-user'; // runtime

Erro: não é possível usar import type como valor

Usar uma importação somente de tipo como um valor de execução é um erro de compilação.
import type { User } from './user';
// const u = new User(); // Error — User was imported as type-only

Verificação rápida

Quando você deve usar `import type` em vez de um `import` regular?

Recapitulação

Use `import type` e `export type` para importações e exportações somente de tipo. Elas são removidas durante a compilação, impedem dependências de execução em arquivos de tipos e são obrigatórias quando verbatimModuleSyntax está ativado.
Grátis para começar

Aprenda TypeScript com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
101
Aulas
352

Perguntas Frequentes

A aula “Importações e exportações somente de tipos” é grátis?

Sim — o texto completo de “Importações e exportações somente de tipos” é 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 “Importações e exportações somente de tipos”?

Utilize import type para evitar custos adicionais em tempo de execução 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 3 de 4.

Quanto tempo leva a aula “Importações e exportações somente de tipos”?

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

  1. Sintaxe de módulos ES: import e export
  2. Reexportações e arquivos de agregação
  3. Importações e exportações somente de tipos
  4. Namespaces versus módulos: uso moderno
← Voltar para TypeScript Academy