Capítulo 6. Tipos avançados
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
O Typescript tem um sistema de tipos de classe mundial que suporta poderosos recursos de programação em nível de tipos que podem fazer inveja até mesmo ao programador Haskell mais cruel. Como já sabes, esse sistema de tipos não é apenas incrivelmente expressivo, mas também fácil de usar, e torna a declaração de restrições e relações de tipos simples, concisa e, na maioria das vezes, inferida.
Precisamos de um sistema de tipos tão expressivo e incomum porque o JavaScript é muito dinâmico. Modelar coisas como protótipos, delimitados dinamicamente this, sobrecargas de funções e objectos em constante mudança requer um sistema de tipos rico e um cinto de utilidades de operadores de tipos que fariam o Batman fazer uma dupla escolha.
Começarei este capítulo com um mergulho profundo em subtipagem, atribuibilidade, variância e alargamento no TypeScript, dando mais definição às intuições que tens vindo a desenvolver ao longo dos últimos capítulos. Em seguida, abordarei os recursos de verificação de tipo baseados em fluxo de controle do TypeScript com mais detalhes, incluindo refinamento e totalidade, e continuarei com alguns recursos avançados de programação em nível de tipo: digitação e mapeamento sobre tipos de objeto, uso de tipos condicionais, definição de seus próprios guardas de tipo e hachuras de escape como asserções de tipo e asserções ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access