Introdução
TypeScript é uma linguagem de programação de código aberto que é um superconjunto de JavaScript. Ele adiciona recursos opcionais de tipo estático ao JavaScript, tornando-o mais seguro e fácil de manter. Um dos principais recursos do TypeScript são seus tipos, que permitem especificar tipos de dados para variáveis, funções e outros elementos em um programa. Neste artigo, vamos explorar os tipos em TypeScript e como eles podem ser usados para escrever código mais seguro e confiável.
O que são tipos em TypeScript? 🔍
Os tipos em TypeScript são usados para especificar o tipo de dados que uma variável pode armazenar, o tipo de dados que uma função espera como entrada e o tipo de dados que uma função retorna. Isso ajuda a evitar erros comuns de programação, como tentar executar operações em tipos de dados incompatíveis.
O TypeScript inclui vários tipos pré-definidos, como boolean, number, string, object, null e undefined. Também é possível definir tipos personalizados usando interfaces e tipos de união.
Um exemplo simples de uso de tipos em TypeScript seria o seguinte:
let nome: string = "João";
let idade: number = 30;
let casado: boolean = false;
Neste exemplo, três variáveis são declaradas e seus tipos são especificados: nome é uma string, idade é um número e casado é um boolean.
Tipos de dados em TypeScript 💡
TypeScript inclui vários tipos de dados, alguns dos quais já mencionamos acima. Vamos dar uma olhada mais detalhada em alguns desses tipos:
☑️ boolean: representa valores verdadeiros ou falsos.
☑️ number: representa valores numéricos, como inteiros e decimais.
☑️ string: representa valores de texto.
☑️ array: representa uma lista de valores de um determinado tipo.
☑️ object: representa um objeto com várias propriedades.
☑️ null e undefined: representam valores nulos ou indefinidos.
☑️ void: representa a ausência de um valor. É usado principalmente como o tipo de retorno de uma função que não retorna nenhum valor.
Tipos de união 🌐
Os tipos de união permitem que uma variável ou parâmetro de função possa ter mais de um tipo de dados. Eles são definidos usando o símbolo de barra vertical (|) para separar os tipos de dados. Por exemplo:
let idade: number | string;
idade = 30; // correto
idade = "trinta"; // correto
idade = true; // incorreto
Neste exemplo, idade pode ser um número ou uma string, mas não pode ser um boolean.
Interfaces 🧩
As interfaces são uma maneira de definir um tipo personalizado em TypeScript. Elas permitem que você defina a forma de um objeto, incluindo suas propriedades e tipos de dados. Por exemplo:
interface Pessoa {
nome: string;
idade: number;
casado: boolean;
}
let joao: Pessoa = {
nome: "João",
idade: 30,
casado: false
};
Neste exemplo, a interface Pessoa define a forma de um objeto que possui propriedades nome, idade e casado. Então, criamos um objeto joao que segue essa interface.
Tipos de Função 🤝
Os tipos de função em TypeScript permitem que você especifique o tipo de dados que uma função espera como entrada e o tipo de dados que ela retorna. Existem dois tipos de função em TypeScript: as que retornam um valor e as que não retornam nenhum valor (void).
Vamos dar uma olhada em um exemplo de uma função que espera dois números e retorna a soma:
function soma(a: number, b: number): number {
return a + b;
}
let resultado = soma(3, 5); // resultado é 8
Neste exemplo, a função soma espera dois números como entrada (a e b) e retorna um número. Também declaramos uma variável resultado que armazena o resultado da chamada da função soma.
Tipos Genéricos 💊
Os tipos genéricos permitem que você defina tipos de dados que podem trabalhar com diferentes tipos de dados. Eles são definidos usando o símbolo de menor que (<) e maior que (>) e podem ser usados em funções, classes e interfaces.
Um exemplo comum de uso de tipos genéricos é a classe Array. A classe Array pode armazenar uma lista de valores de um determinado tipo, mas pode trabalhar com vários tipos de dados. Por exemplo:
let numeros: Array<number> = [1, 2, 3];
let nomes: Array<string> = ["João", "Maria", "Pedro"];
Neste exemplo, declaramos duas variáveis de matriz: uma para números e outra para nomes. O tipo de dados de cada matriz é especificado usando o tipo genérico
Conclusão 📚
Os tipos em TypeScript fornecem uma maneira de especificar o tipo de dados que uma variável pode armazenar, o tipo de dados que uma função espera como entrada e o tipo de dados que uma função retorna. Isso ajuda a tornar o código mais seguro e confiável, evitando erros comuns de programação.
Neste artigo, exploramos vários tipos de dados em TypeScript, incluindo tipos primitivos como boolean, number e string, tipos de união, interfaces, tipos de função e tipos genéricos. Com uma compreensão sólida desses tipos, você pode escrever código TypeScript mais seguro e fácil de manter.