From 9541e76d679502aa4d7f5d6fed52ce1d19421bbf Mon Sep 17 00:00:00 2001 From: guuszz Date: Wed, 3 Jun 2026 19:40:39 -0300 Subject: [PATCH] docs(pt): translate handbook-v2/Modules Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/documentation/pt/handbook-v2/Modules.md | 406 +++++++++++++++++++ 1 file changed, 406 insertions(+) create mode 100644 docs/documentation/pt/handbook-v2/Modules.md diff --git a/docs/documentation/pt/handbook-v2/Modules.md b/docs/documentation/pt/handbook-v2/Modules.md new file mode 100644 index 00000000..7d380fb5 --- /dev/null +++ b/docs/documentation/pt/handbook-v2/Modules.md @@ -0,0 +1,406 @@ +--- +title: Módulos +layout: docs +permalink: /pt/docs/handbook/2/modules.html +oneline: "Como o JavaScript lida com a comunicação entre limites de arquivos." +--- + +O JavaScript tem uma longa história de diferentes formas de lidar com a modularização de código. +Existindo desde 2012, o TypeScript implementou suporte para muitos desses formatos, mas, com o tempo, a comunidade e a especificação do JavaScript convergiram para um formato chamado ES Modules (ou módulos ES6). Você pode conhecê-lo como a sintaxe `import`/`export`. + +ES Modules foi adicionado à especificação do JavaScript em 2015 e, por volta de 2020, tinha amplo suporte na maioria dos navegadores web e runtimes de JavaScript. + +Para manter o foco, o manual vai cobrir tanto os ES Modules quanto seu popular precursor, a sintaxe `module.exports =` do CommonJS, e você pode encontrar informações sobre os outros padrões de módulo na seção de referência em [Módulos](/docs/handbook/modules.html). + +## Como os Módulos JavaScript são Definidos + +Em TypeScript, assim como no ECMAScript 2015, qualquer arquivo que contém um `import` ou `export` de nível superior é considerado um módulo. + +Por outro lado, um arquivo sem nenhuma declaração de import ou export de nível superior é tratado como um script cujo conteúdo está disponível no escopo global (e, portanto, também para os módulos). + +Módulos são executados dentro de seu próprio escopo, não no escopo global. +Isso significa que variáveis, funções, classes, etc. declaradas em um módulo não são visíveis fora do módulo, a menos que sejam explicitamente exportadas usando uma das formas de export. +Por outro lado, para consumir uma variável, função, classe, interface, etc. exportada de um módulo diferente, ela tem que ser importada usando uma das formas de import. + +## Não-módulos + +Antes de começar, é importante entender o que o TypeScript considera um módulo. +A especificação do JavaScript declara que qualquer arquivo JavaScript sem uma declaração de `import`, `export` ou `await` de nível superior deve ser considerado um script, e não um módulo. + +Dentro de um arquivo de script, variáveis e tipos são declarados no escopo global compartilhado, e assume-se que você vai ou usar a opção de compilador [`outFile`](/tsconfig#outFile) para juntar múltiplos arquivos de entrada em um arquivo de saída, ou usar múltiplas tags `