Como usar funções no guia para iniciantes do TypeScript

Funções são um bloco de construção fundamental no TypeScript, assim como no JavaScript. O TypeScript estende funções JavaScript com recursos adicionais, como anotações de tipo, que melhoram a clareza do código e previnem erros. Este guia para iniciantes mostrará como usar funções no TypeScript.

Definindo Funções

No TypeScript, você pode definir funções como no JavaScript, mas com anotações de tipo opcionais para especificar os tipos de parâmetros e valores de retorno.

Definição de função básica

Veja como definir uma função simples em TypeScript:

function greet(name: string): string {
  return "Hello, " + name;
}

Neste exemplo, nome é um parâmetro do tipo string, e a função retorna um valor do tipo string.

Parâmetros de função e tipos de retorno

O TypeScript permite que você especifique os tipos de parâmetros de função e valores de retorno, ajudando a garantir que a função seja usada corretamente.

Função com Parâmetros

Aqui está uma função que recebe dois parâmetros e retorna a soma deles:

function add(x: number, y: number): number {
  return x + y;
}

Nesta função, x e y são do tipo número, e a função retorna um número.

Funções sem valor de retorno

Nem todas as funções precisam retornar um valor. Funções sem valor de retorno são declaradas com um tipo de retorno de void. Essas funções realizam ações, mas não produzem um resultado.

Exemplo de Nenhum Valor de Retorno

function logMessage(message: string): void {
  console.log(message);
}

Neste exemplo, logMessage imprime a message no console, mas não retorna nenhum valor.

Parâmetros opcionais e padrão

O TypeScript suporta parâmetros opcionais e padrão, permitindo que você crie funções mais flexíveis.

Parâmetros opcionais

Parâmetros opcionais são especificados adicionando ? após o nome do parâmetro:

function greet(name: string, greeting?: string): string {
  if (greeting) {
    return greeting + ", " + name;
  }
  return "Hello, " + name;
}

Neste exemplo, greeting é um parâmetro opcional que pode ser omitido ao chamar a função.

Parâmetros Padrão

Os parâmetros padrão têm um valor padrão se nenhum valor for fornecido:

function greet(name: string, greeting: string = "Hello"): string {
  return greeting + ", " + name;
}

Se greeting não for fornecido, o padrão será "Hello".

Sobrecarga de função

O TypeScript suporta sobrecarga de funções, permitindo que você defina várias assinaturas de funções para o mesmo nome de função:

function greet(name: string): string;
function greet(name: string, age: number): string;
function greet(name: string, age?: number): string {
  if (age !== undefined) {
    return `Hello, ${name}. You are ${age} years old.`;
  }
  return `Hello, ${name}.`;
}

Neste exemplo, greet pode ser chamado com um ou dois parâmetros.

Funções de seta

As funções de seta fornecem uma sintaxe mais curta para escrever funções e não têm seu próprio contexto this:

const add = (x: number, y: number): number => x + y;

Este exemplo mostra como definir uma função de seta que soma dois números.

Conclusão

Funções em TypeScript são uma maneira poderosa de encapsular e reutilizar código. Usando anotações de tipo, parâmetros opcionais e padrão, sobrecarga de função e funções de seta, você pode escrever código mais robusto e sustentável. Entender esses conceitos básicos ajudará você a aproveitar ao máximo os recursos do TypeScript em seus projetos.