Capítulo 3. Inferência de tipos e análise do fluxo de controlo
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Para as linguagens de programação utilizadas na indústria , "estaticamente tipadas" e "explicitamente tipadas" têm sido tradicionalmente sinónimos. C, C++, Java: todas elas te obrigam a escrever os teus tipos. Mas as linguagens académicas nunca confundiram estas duas coisas: linguagens como ML e Haskell há muito que têm sistemas sofisticados de inferência de tipos, e isto começou a fazer o seu caminho para as linguagens da indústria. C++ adicionou auto, e Java adicionou var. Linguagens mais recentes como Rust e Swift têm inferência de tipos desde o início.
O Typescript faz uso extensivo da inferência de tipo. Se bem usado, isso pode reduzir drasticamente o número de anotações de tipo que seu código requer para obter segurança total de tipo. Uma das maneiras mais fáceis de distinguir um iniciante em TypeScript de um desenvolvedor mais experiente é pelo número de anotações de tipo. Um desenvolvedor experiente de TypeScript usará relativamente poucas anotações (mas as usará com grande efeito), enquanto um iniciante pode afogar seu código em anotações de tipo redundantes.
Na maioria das linguagens, uma variável tem um tipo e nunca muda. O Typescript é um pouco diferente. Uma variável tem um tipo numa localização no teu código. O processo pelo qual o seu tipo muda devido ao código circundante é conhecido ...