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çõesobjetos 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: number e b: number tipam os parâmetros como números.
  • : number apó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?: number torna o parâmetro age opcional.

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 User com três propriedades: nameage, e isAdmin.
  • 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 name e age são tipadas como string e number, respectivamente.
  • O método speak nã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:

  1. Tipar funções ajuda a evitar erros de parâmetro e retorno.
  2. Tipar objetos garante que eles sigam uma estrutura específica.
  3. Classes em TypeScript podem ser fortemente tipadas para facilitar o desenvolvimento.
  4. Tipos avançados, como uniões e interseções, aumentam a flexibilidade e segurança do código.