TypeScript é uma linguagem fortemente tipada que adiciona tipos ao JavaScript, ajudando a evitar erros de tipagem e tornando o código mais fácil de manter. Neste tutorial, vamos explorar como tipar funções, objetos e classes em TypeScript.
1. Tipando Funções
No TypeScript, podemos definir o tipo de parâmetros e o tipo de retorno de uma função. Isso nos dá mais controle e segurança no código.
Sintaxe Básica:
Explicação:
a: numbereb: numbertipam os parâmetros como números.: numberapós os parênteses indica que a função deve retornar um número.
Se tentarmos passar um argumento que não seja número, o TypeScript nos alertará sobre o erro.
Exemplo com Funções Anônimas:
Aqui usamos a mesma lógica, mas com uma função anônima (arrow function).
Funções com Parâmetros Opcionais:
Às vezes, precisamos de parâmetros que não são obrigatórios. Para isso, usamos o símbolo ?.
age?: numbertorna o parâmetroageopcional.
2. Tipando Objetos
No TypeScript, podemos definir a estrutura de um objeto usando interfaces ou type aliases.
Usando type para Objetos:
Explicação:
- Definimos o tipo 
Usercom três propriedades:name,age, eisAdmin. - Quando criamos o objeto 
user, ele deve seguir essa estrutura. 
Usando Interfaces:
Uma outra maneira de tipar objetos é através de interfaces. A vantagem é que podemos estender interfaces.
As interfaces são muito semelhantes a type, mas podem ser mais flexíveis, especialmente ao trabalhar com herança.
3. Tipando Classes
Em TypeScript, as classes também podem ser tipadas de maneira robusta. Podemos definir os tipos de propriedades e métodos.
Explicação:
- As propriedades 
nameeagesão tipadas comostringenumber, respectivamente. - O método 
speaknão retorna nada (void). 
4. Tipos Combinados e União
TypeScript permite criar tipos mais complexos usando uniões ou interseções.
União (Union):
Uma união permite que um valor tenha mais de um tipo.
Aqui, o parâmetro id pode ser um number ou string.
Interseção (Intersection):
Já a interseção combina vários tipos em um.
Neste exemplo, AdminEmployee combina as propriedades de Admin e Employee.
Conclusão
Neste guia, abordamos os fundamentos de como usar tipos em funções, objetos e classes em TypeScript. Usar tipos ajuda a garantir que o código esteja correto, fácil de manter e menos propenso a erros.
Resumo:
- Tipar funções ajuda a evitar erros de parâmetro e retorno.
 - Tipar objetos garante que eles sigam uma estrutura específica.
 - Classes em TypeScript podem ser fortemente tipadas para facilitar o desenvolvimento.
 - Tipos avançados, como uniões e interseções, aumentam a flexibilidade e segurança do código.
 



