Capítulo 6. Genéricos e Programação em Nível de Tipo
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
O sistema de tipos do TypeScript foi projetado para modelar o comportamento do código JavaScript em tempo de execução. Como o JavaScript é muito dinâmico e permissivo, isso levou o sistema de tipos do TypeScript a desenvolver recursos cada vez mais poderosos. Como o Item 15 explicou, isso inclui lógica para mapeamento entre tipos.
Quando adicionas aliases de tipos genéricos à mistura, o sistema de tipos do Typescript torna-se suficientemente poderoso para que possas pensar nele como a sua própria linguagem de programação independente. (O sistema de tipos do TypeScript é Turing Complete, então isso é verdade num sentido formal). Em vez de programar com valores, como fazes em JavaScript, agora estás a programar com tipos. Em outras palavras, programação em nível de tipo. Isto é diferente de metaprogramação (escrever programas que operam em programas), embora os dois termos sejam por vezes confundidos.
Aprender novas linguagens é divertido, e podes encontrar todo o tipo de aplicações selvagens construídas usando o sistema de tipos do Typescript, desde jogos a analisadores SQL. Isso foi impulsionado em parte pelo projeto Type Challenges, que inclui centenas de quebra-cabeças cada vez mais difíceis de resolver no sistema de tipos. Resolvê-los enquanto lê este capítulo é uma ótima maneira de consolidar o que aprendeu. ...