Termos de TypeScript
150 termos de TypeScript em português. O sistema de tipos a fundo: generics, narrowing e tipos condicionais.
A
- ambient declarationDeclaração com a palavra declare que informa ao compilador a existência de um valor, função, classe ou…
- análise de fluxo de controleMecanismo do compilador que acompanha ifs, returns, atribuições e loops para calcular o tipo de cada…
- anotação de tipoDeclaração explícita do tipo de uma variável, parâmetro ou retorno, escrita depois de dois-pontos. Fixa o…
- anotação em desestruturaçãoArmadilha em que { nome: string } na lista de parâmetros é lido como renomear a variável para string, e não…
- anyTipo que desliga a verificação: aceita qualquer valor e permite qualquer operação sobre ele. É a saída de…
- apagamento de tiposCaracterística do TypeScript em que toda a informação de tipos é removida na compilação: o JavaScript gerado…
- arquivo de declaraçãoArquivo .d.ts que contém só declarações de tipos, sem implementação, descrevendo a forma de código…
- array tipadoArray cujos elementos têm um tipo comum, escrito como number[] ou Array<number>. As duas formas são…
- as constAsserção que congela um literal: propriedades viram readonly, arrays viram tuplas somente leitura e strings…
- assertion functionFunção cuja assinatura usa asserts, como asserts x is string, indicando que, se ela retornar sem lançar…
- assinatura de índiceDeclaração [chave: string]: T que permite a um objeto ter qualquer quantidade de propriedades com chaves do…
- AwaitedUtility type que desembrulha o tipo resolvido de uma Promise, recursivamente, tratando também objetos…
B
- bivarianceExceção de variância em que parâmetros de métodos, declarados com sintaxe de método, são comparados nos dois…
- branded typesTécnica que cria tipos nominais artificiais ao intersectar um tipo primitivo com uma marca, como string & {…
C
- call signatureForma de descrever, dentro de uma interface ou tipo de objeto, que o valor pode ser chamado como função, com…
- campo privado com cerquilhaCampo declarado com # no nome, como #saldo, privado de verdade em runtime pelo padrão do JavaScript, e que o…
- catch com unknownCom a flag useUnknownInCatchVariables, parte do strict, a variável do catch tem tipo unknown em vez de any…
- classe abstrataClasse marcada com abstract que não pode ser instanciada diretamente e serve de base para outras. Pode…
- conditional typesTipos no formato T extends U ? X : Y, que escolhem X ou Y conforme T seja atribuível a U. Funcionam como um…
- const enumEnum declarado com const, cujos usos são substituídos pelos valores literais na compilação, sem gerar o…
- const type parameterModificador const em um parâmetro de tipo, como <const T>, que faz o compilador inferir o argumento como se…
- construct signatureAssinatura precedida por new que descreve algo que pode ser instanciado, como new (nome: string): Pessoa…
D
- declaração de móduloForma declare module 'nome' que descreve o tipo de um módulo importável sem código-fonte, aceitando curingas…
- declaration emitOpção declaration que gera um arquivo .d.ts ao lado de cada .js, descrevendo os tipos públicos da biblioteca…
- declaration mergingRegra pela qual o compilador combina várias declarações com o mesmo nome em uma só definição, como duas…
- decoratorsFunções aplicadas com @ a classes e membros para observar ou alterar o comportamento. Desde o TypeScript 5.0…
- decorators experimentaisImplementação antiga de decorators, ativada pela opção experimentalDecorators, anterior ao padrão…
- default type parameterValor padrão de um parâmetro de tipo, escrito com =, usado quando o chamador não informa o tipo nem há como…
- define semanticsComportamento ligado à opção useDefineForClassFields, em que campos de classe são emitidos com [[Define]] do…
- definite assignment assertionSufixo !: em uma propriedade de classe que garante ao compilador que ela será inicializada antes do uso…
- DefinitelyTypedRepositório comunitário que publica no npm, sob o escopo @types, declarações de tipos para bibliotecas…
- discriminated unionUnião de tipos de objeto que compartilham uma propriedade literal em comum, a discriminante, como kind ou…
- distributive conditional typesComportamento de um tipo condicional cujo tipo verificado é um parâmetro de tipo nu: ao receber uma união…
- double assertionPadrão valor as unknown as Tipo, que passa por unknown para contornar a recusa do compilador em converter…
E
- enumConstrução que agrupa constantes nomeadas em um tipo. Diferente da maioria dos recursos de tipo, gera um…
- erasable syntax onlyOpção erasableSyntaxOnly, do TS 5.8, que dá erro em construções que geram código JavaScript, como enums…
- espaço de tipos e de valoresDivisão do TypeScript em dois mundos de nomes: tipos, que somem na compilação, e valores, que existem em…
- exact optional property typesFlag exactOptionalPropertyTypes que distingue propriedade ausente de propriedade com valor undefined: um…
- excess property checkVerificação que recusa propriedades extras em um objeto literal atribuído diretamente a um tipo conhecido…
- ExcludeUtility type Exclude<T, U> que remove de uma união T os membros atribuíveis a U. Funciona como filtro…
- exhaustiveness checkTécnica que usa o tipo never para garantir que todos os casos de uma união foram tratados, fazendo o…
- extends no tsconfigCampo extends do tsconfig que herda as opções de outro arquivo de configuração, permitindo uma base…
- ExtractUtility type Extract<T, U> que mantém de uma união T apenas os membros atribuíveis a U. É o oposto de…
G
- generic constraintRestrição escrita com extends em um parâmetro de tipo, que limita os tipos aceitos e libera o acesso aos…
- generic em arquivo tsxEm arquivos .tsx, arrow functions genéricas como <T>(x: T) => x são lidas como tag JSX. Escreva <T,> ou <T…
- genericsRecurso que permite escrever funções, classes e tipos parametrizados por outros tipos, como Array<T>…
- global augmentationBloco declare global dentro de um módulo, que adiciona ou amplia declarações no escopo global, como…
H
- herança de interfaceUso de extends em uma interface para herdar as propriedades de outra, ou de várias, acrescentando ou…
- homomorphic mapped typeMapped type no formato { [K in keyof T]: ... }, que preserva os modificadores readonly e ? das propriedades…
I
- implementsCláusula que declara que uma classe cumpre o contrato de uma ou mais interfaces. O compilador verifica que…
- import typeSintaxe import type { X } from 'mod' que importa só tipos e é sempre apagada do JavaScript gerado. Existe…
- include e excludeCampos do tsconfig que definem, com padrões glob, quais arquivos entram no programa: include seleciona e…
- indexed access typeSintaxe T[K] que consulta o tipo de uma propriedade de outro tipo, como Pessoa['nome'], e aceita uniões e…
- inferPalavra-chave usada dentro de um tipo condicional para capturar parte de um tipo em uma nova variável de…
- inferência de tiposCapacidade do compilador de deduzir o tipo de variáveis, retornos e parâmetros a partir do código, sem que…
- inferred type predicatesRecurso do TS 5.5 em que o compilador deduz sozinho o predicado de tipo de uma função que apenas retorna uma…
- InstanceTypeUtility type que extrai o tipo da instância criada por um construtor ou classe, ou seja, o que new produz…
- interfaceDeclaração que descreve a forma de um objeto, com propriedades e métodos. Existe só no sistema de tipos…
- interface ou typeEscolha recorrente entre declarar um formato com interface ou com type alias. Ambos descrevem objetos, mas…
- intersection typeTipo formado pelo operador &, que combina vários tipos em um só. O valor precisa satisfazer todos ao mesmo…
- intrinsic string typesTipos Uppercase, Lowercase, Capitalize e Uncapitalize, implementados pelo próprio compilador, que mudam a…
- isolated modulesOpção isolatedModules que garante que cada arquivo possa ser transpilado sozinho, sem informação de outros…
K
- key remappingCláusula as dentro de um mapped type, como [K in keyof T as Novo<K>], que renomeia ou filtra chaves. Mapear…
- keyofOperador que recebe um tipo de objeto e produz a união literal das suas chaves, como 'id' | 'nome'. Base…
L
- labeled tuple elementsNomes opcionais dados às posições de uma tupla, como [x: number, y: number]. Não mudam o tipo, só documentam…
- literal typeTipo que representa um único valor exato, como 'sim', 42 ou true. Combinado em uma union, forma conjuntos…
M
- mapeamento reverso de enumEm enums numéricos, o compilador gera um objeto que mapeia nome para valor e valor para nome, permitindo…
- mapped type modifiersPrefixos + e - aplicados a readonly e ? dentro de um mapped type, para adicionar ou remover esses…
- mapped typesTipos que percorrem as chaves de outro com { [K in keyof T]: ... } e transformam cada propriedade num novo…
- mixinPadrão que compõe classes por funções que recebem uma classe base e devolvem uma subclasse com recursos…
- modificadores de acessoPalavras public, private e protected que controlam quem pode usar um membro de classe. A checagem acontece…
- module augmentationTécnica que reabre um módulo importado com declare module 'nome' para acrescentar ou ampliar tipos dele…
- module resolutionOpção moduleResolution do tsconfig que define como o compilador transforma o texto de um import em um…
N
- namespaceConstrução que agrupa tipos e valores sob um nome, gerando um objeto em JavaScript quando contém valores. É…
- narrowingRefinamento do tipo de uma variável dentro de um trecho de código, a partir de verificações como typeof…
- neverTipo vazio, sem nenhum valor possível. Marca funções que nunca retornam, ramos inalcançáveis e resultados…
- no emitOpção noEmit, ou tsc --noEmit, que faz o compilador apenas checar os tipos, sem gerar arquivos JavaScript…
- no implicit anyFlag noImplicitAny que gera erro quando o compilador não consegue inferir um tipo e cairia em any…
- no unchecked indexed accessFlag noUncheckedIndexedAccess que adiciona undefined ao tipo de qualquer acesso por índice em arrays e…
- NoInferUtility type do TS 5.4 que bloqueia a inferência de um parâmetro de tipo em certa posição. O tipo ali não…
- non-null assertionOperador ! pós-fixado que informa ao compilador que um valor não é null nem undefined. Remove esses casos do…
- NonNullableUtility type que remove null e undefined de um tipo. Nas versões atuais equivale a T & {}, o que também…
O
- object typeTipo minúsculo object, que representa qualquer valor não primitivo: objetos, arrays e funções. Difere de…
- Object.keysFunção cujo tipo devolve string[] e não (keyof T)[], de propósito, porque objetos podem ter propriedades…
- OmitUtility type que constrói um tipo com todas as propriedades do original, menos as chaves listadas. Útil para…
- operador inA expressão 'chave' in objeto também age como type guard: no ramo verdadeiro, o tipo é estreitado para os…
- overrideModificador que marca um método de subclasse como sobrescrita explícita de um membro da classe base. Se o…
P
- ParametersUtility type que extrai os tipos dos parâmetros de uma função como uma tupla. Permite criar wrappers que…
- parâmetro opcionalParâmetro marcado com ? depois do nome, que pode ser omitido na chamada. Dentro da função, o tipo dele passa…
- PartialUtility type que cria um tipo igual ao original, mas com todas as propriedades opcionais. Serve para…
- path mappingOpção paths do tsconfig que cria apelidos de importação, como '@/*' apontando para src/*. O compilador…
- PickUtility type que constrói um tipo com apenas as propriedades escolhidas de outro, como Pick<Usuario, 'id' |…
- possibly undefinedMensagem de erro emitida quando você usa um valor cujo tipo inclui undefined sem tratá-lo antes. É a…
- project referencesRecurso que divide um projeto em vários tsconfig que se referenciam por references e composite, compilados…
- PromiseTipo genérico Promise<T> que descreve um valor que chegará depois. Toda função async tem retorno Promise<T>…
- property does not exist on typeErro TS2339, em que o código acessa uma propriedade que o compilador não encontra no tipo da expressão…
- propriedade de parâmetroAtalho no construtor em que um parâmetro com public, private, protected ou readonly vira, ao mesmo tempo…
- propriedade opcionalPropriedade de interface ou tipo de objeto marcada com ?, que pode estar ausente. O tipo lido inclui…
R
- readonlyModificador que impede reatribuir uma propriedade depois da inicialização ou, em arrays e tuplas, impede…
- ReadonlyArrayTipo de array sem os métodos que mutam, como push e sort. Também escrito readonly T[], garante que a função…
- RecordUtility type Record<K, V>, que cria um tipo de objeto com chaves K e valores V. Quando K é uma união…
- recursive typesTipos que se referem a si mesmos na própria definição, usados para modelar estruturas aninhadas de…
- RequiredUtility type que cria um tipo igual ao original, mas com todas as propriedades obrigatórias, removendo o ?…
- ReturnTypeUtility type que extrai o tipo de retorno de um tipo de função. Combinado com typeof, deriva o tipo de…
S
- satisfiesOperador que verifica se uma expressão é compatível com um tipo sem alterar o tipo inferido dela. Valida o…
- skip lib checkOpção skipLibCheck que pula a verificação de tipos de todos os arquivos .d.ts, inclusive os de node_modules…
- sobrecarga de funçãoDeclaração de várias assinaturas para a mesma função, seguidas de uma implementação única. Cada assinatura…
- source mapOpção sourceMap que gera arquivos .js.map ligando o JavaScript emitido ao TypeScript original, para que…
- strict function typesFlag strictFunctionTypes que compara os parâmetros de tipos de função de forma contravariante, em vez de…
- strict modeOpção strict do tsconfig que liga de uma vez o conjunto de checagens rigorosas, incluindo noImplicitAny e…
- strict null checksFlag strictNullChecks que faz null e undefined deixarem de ser valores válidos de qualquer tipo. Ligada…
- strict property initializationFlag strictPropertyInitialization que exige que todo campo de classe, sem undefined no tipo, seja…
- String maiúsculoTipos como String, Number e Boolean, com inicial maiúscula, descrevem objetos wrapper e não os primitivos…
T
- target e libDuas opções do tsconfig: target define a versão do JavaScript gerado, e lib define quais APIs embutidas o…
- template literal typesTipos construídos com a sintaxe de template string, como `on${string}`, que combinam literais e uniões para…
- this parameterParâmetro falso chamado this, declarado como o primeiro da lista, que informa o tipo esperado de this dentro…
- this typeTipo especial this dentro de classes e interfaces, que se refere ao tipo da instância atual, incluindo…
- tipagem contextualMecanismo em que o tipo esperado pelo contexto, como o parâmetro de uma função ou a anotação de uma…
- tipagem estruturalRegra segundo a qual a compatibilidade entre tipos depende só da forma, ou seja, das propriedades que o…
- tipo de funçãoTipo que descreve os parâmetros e o retorno de uma função, escrito com seta, como (a: number) => string…
- tipo de retornoTipo do valor que uma função devolve, escrito depois dos parâmetros. Se omitido, o compilador o infere do…
- ts-checkComentário // @ts-check no topo de um arquivo .js, ou a opção checkJs, que faz o compilador checar tipos em…
- ts-expect-errorComentário // @ts-expect-error que suprime o erro da linha seguinte e, ao contrário do ts-ignore, gera um…
- ts-ignoreComentário // @ts-ignore que suprime qualquer erro de tipo na linha seguinte, sem verificar se de fato havia…
- tscCompilador de linha de comando do TypeScript, que checa os tipos e gera JavaScript. Lê o tsconfig.json e tem…
- tsconfigArquivo tsconfig.json na raiz do projeto, que define quais arquivos fazem parte do programa e as opções do…
- tsserverProcesso em segundo plano que o editor inicia para entender o seu código TypeScript, oferecendo…
- tsxExecutor de linha de comando, o pacote tsx, que roda arquivos TypeScript direto, sem build separado…
- tuplaArray de tamanho fixo em que cada posição tem seu próprio tipo, como [string, number]. Permite devolver…
- type aliasNome dado a qualquer tipo pela palavra-chave type: objetos, unions, tuplas, funções ou tipos calculados. Não…
- type assertionConstrução valor as Tipo que diz ao compilador para tratar o valor como outro tipo. Só muda a checagem de…
- type guardExpressão ou função que verifica um valor em runtime e faz o compilador estreitar o tipo no ramo seguinte…
- type is not assignableMensagem de erro mais comum do TypeScript (TS2322), exibida quando um valor de um tipo é usado onde se…
- type predicateTipo de retorno especial no formato parametro is Tipo, que declara que a função devolve true apenas quando o…
- type strippingForma de executar TypeScript em que o runtime, como o Node, apenas apaga as anotações de tipo, trocando-as…
- type wideningProcesso em que o compilador generaliza um tipo literal para o tipo base mais amplo, como 'a' para string…
- typeof de tiposQuando usado onde um tipo é esperado, typeof valor extrai o tipo inferido de uma variável ou constante…
- types no package.jsonCampo types, ou a condição types em exports, do package.json, que diz ao compilador onde está o arquivo…
- typescript-eslintConjunto de ferramentas que permite ao ESLint entender TypeScript, com parser e regras próprias, como…
U
- union de literaisTipo formado por valores literais combinados com |, como 'admin' | 'editor'. Em TypeScript é a alternativa…
- union typeTipo formado pelo operador |, que aceita valores de qualquer um dos tipos listados. Para usar o valor, é…
- unique symbolSubtipo de symbol que identifica um único símbolo específico, declarado com const. Permite usá-lo como chave…
- unknownTipo seguro para valores de origem incerta: aceita qualquer coisa na atribuição, mas não permite uso nenhum…
- utility typesTipos genéricos prontos que vêm com o TypeScript, como Partial, Pick, Omit e Record, e que transformam um…
V
- variadic tuple typesTuplas que usam spread de um parâmetro de tipo, como [...T, boolean]. Permitem concatenar e decompor tuplas…
- variance annotationsModificadores in e out em parâmetros de tipo genérico, como interface Fonte<out T>, que declaram…
- variânciaRegra de como a compatibilidade de tipos compostos acompanha a dos seus componentes: covariante segue o…
- verbatim module syntaxOpção verbatimModuleSyntax que faz o compilador manter exatamente os imports e exports escritos, apagando só…
- voidTipo de retorno de funções que não devolvem valor útil. Em tipos de callback, aceita funções que retornam…