Structural and Nominal Types
Static vs Dynamic
Estático: vai fazer a checagem de tipo na hora da compilação ou não
Dinamica: vai fazer a checagem de tipo em tempo de execução
O TS tem como seu tipo de checagem o estático
Ducking Typing
É um tipo de tipagem que é feito usando o teste do pato:
Ou seja, ele vai tipar o que aquilo parece ser, é muito usado para sistemas com tipagem dinamica
Tipagem "fraca" e "forte"
No contexto do TS o caminho comum é usar a tipagem forte.
Nominal vs Structural
O nominal é o sistema de tipagem que foca em nomes
Como por exemplo no código abaixo, o sistema nominal, ele vai verificar se a equivalencia de tipo de
myCaré a mesma de `checkCar' (exemplo no Java):
Agora o Structural foca num sistema de tipagem de estrutura ou tipo:
Se olharmos o exemplo abaixo, em TS, vemos que a structural irá focar se o objeto tem ou não a mesma estrutura que se quer: