Sumário
- The Concise TypeScript Book
- Traduções
- Downloads e site
- Sumário
- Introdução
- Sobre o Autor
- Introdução ao TypeScript
- Começando com TypeScript
- Explorando o Sistema de Tipos
- O Serviço de Linguagem do TypeScript
- Tipagem Estrutural
- Regras Fundamentais de Comparação do TypeScript
- Tipos como Conjuntos
- Atribuir um tipo: Declarações de Tipo e Asserções de Tipo
- Verificação de Propriedades e Verificação de Excesso de Propriedades
- Tipos Fracos (Weak Types)
- Verificação Estrita de Objeto Literal (Freshness)
- Inferência de Tipo
- Inferências Mais Avançadas
- Alargamento de Tipo (Type Widening)
- Const
- Anotação de Tipo Explícita
- Estreitamento de Tipo (Type Narrowing)
- Tipos Primitivos
- Anotações de Tipo
- Propriedades Opcionais
- Propriedades Somente Leitura (Readonly)
- Assinaturas de Índice (Index Signatures)
- Estendendo Tipos
- Tipos Literais
- Inferência Literal
- strictNullChecks
- Enums
- Estreitamento (Narrowing)
- Atribuições
- Análise de Fluxo de Controle
- Predicados de Tipo
- Uniões Discriminadas
- O tipo never
- Verificação de exaustividade
- Tipos de Objeto
- Tipo Tupla (Anônimo)
- Tipo Tupla Nomeado (Rotulado)
- Tupla de Comprimento Fixo
- Tipo União
- Tipos de Interseção
- Indexação de Tipo
- Tipo a partir de Valor
- Tipo a partir de Retorno de Função
- Tipo a partir de Módulo
- Tipos Mapeados
- Modificadores de Tipos Mapeados
- Tipos Condicionais
- Tipos Condicionais Distributivos
- Inferência de tipo infer em Tipos Condicionais
- Tipos Condicionais Predefinidos
- Tipos de União de Template
- Tipo Any
- Tipo Unknown
- Tipo Void
- Tipo Never
- Interface e Tipo
- Primitivos de Tipo Integrados
- Objetos JS Integrados Comuns
- Sobrecargas
- Mesclagem e Extensão
- Diferenças entre Type e Interface
- Genéricos
- Tipos Estruturais Apagados (Erased Structural Types)
- Namespacing
- Símbolos
- Diretivas de Barra Tripla
- Manipulação de Tipos
- Criando Tipos a partir de Tipos
- Tipos de Acesso Indexado
- Tipos Utilitários
- Awaited<T>
- Partial<T>
- Required<T>
- Readonly<T>
- Record<K, T>
- Pick<T, K>
- Omit<T, K>
- Exclude<T, U>
- Extract<T, U>
- NonNullable<T>
- Parameters<T>
- ConstructorParameters<T>
- ReturnType<T>
- InstanceType<T>
- ThisParameterType<T>
- OmitThisParameter<T>
- ThisType<T>
- Uppercase<T>
- Lowercase<T>
- Capitalize<T>
- Uncapitalize<T>
- NoInfer<T>
- Outros
- Tratamento de Erros e Exceções
- Classes Mixin
- Recursos de Linguagem Assíncronos
- Iteradores e Geradores
- Referência JSDoc TsDocs
- @types
- JSX
- Módulos ES6
- Operador de Exponenciação ES7
- A instrução for-await-of
- Nova meta-propriedade target
- Expressões de Importação Dinâmica
- ”tsc –watch”
- Operador de Asserção Não-nula
- Declarações padronizadas
- Encadeamento Opcional (Optional Chaining)
- Operador de coalescência nula
- Tipos de Literais de Template
- Sobrecarga de função
- Tipos Recursivos
- Tipos Condicionais Recursivos
- Suporte a Módulo ECMAScript no Node
- Funções de Asserção
- Tipos de Tupla Variádicos
- Tipos Boxed
- Covariância e Contravariância no TypeScript
- Assinaturas de Índice de Padrão de String de Template
- O Operador satisfies
- Importações e Exportações Apenas de Tipo
- Declaração using e Gerenciamento Explícito de Recursos
- Atributos de Importação
- Verificação de Sintaxe de Expressões Regulares
- import defer