Capítulo 15. Operações de tipo
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Condicionais, mapas
Com grande poder sobre os tipos
vem uma grande confusão
Mesmo os modificadores lógicos do Capítulo 10, "Generics", não são nada em comparação com as capacidades das operações de tipos deste capítulo. Depois de concluir este capítulo, poderás misturar, combinar e modificar tipos com base noutros tipos - dando-te formas poderosas de representar tipos no sistema de tipos.
Aviso
A maior parte destes tipos extravagantes são técnicas que geralmente não queres utilizar com muita frequência. Vais querer compreendê-las para os casos em que são úteis, mas cuidado: podem ser difíceis de ler quando utilizadas em excesso. Diverte-te!
Tipos mapeados
TypeScript fornece sintaxe para criar um novo tipo com base nas propriedades de outro tipo: por outras palavras, mapear de um tipo para outro. Um tipo mapeado em TypeScript é um tipo que recebe outro tipo e executa alguma operação em cada propriedade desse tipo.
Utiliza uma sintaxe semelhante à das assinaturas de índice, mas em vez de utilizar um tipo de chave estático com : como [i: string], utiliza um tipo calculado a partir de outro tipo com in como [K in OriginalType]:
typeNewType={[KinOriginalType]:NewProperty;};
Um caso de utilização comum para tipos mapeados é criar um objeto cujas chaves são cada um dos literais de cadeia de caracteres num tipo de união existente. ...