Funções TypeScript: Como usar parâmetros e tipos de retorno

Funções são os blocos de construção de qualquer linguagem de programação, e o TypeScript as aprimora adicionando segurança de tipo. Ao definir tipos para parâmetros e valores de retorno, o TypeScript permite que os desenvolvedores escrevam códigos mais confiáveis ​​e sustentáveis. Este guia apresentará as funções do TypeScript, abordando como usar parâmetros e tipos de retorno de forma eficaz.

Definindo uma função em TypeScript

No TypeScript, funções podem ser definidas usando a palavra-chave function, similar ao JavaScript. No entanto, o TypeScript permite que você especifique os tipos de parâmetros e valores de retorno para segurança e legibilidade adicionais.

Exemplo de função básica

Aqui está um exemplo de uma função TypeScript básica com parâmetros digitados e um tipo de retorno:

function add(a: number, b: number): number {
  return a + b;
}

const result = add(5, 3); // Output: 8

Neste exemplo, a função add aceita dois parâmetros do tipo number e retorna um valor do tipo number. Isso garante que tanto a entrada quanto a saída estejam em conformidade com os tipos esperados.

Parâmetros de função em TypeScript

Funções TypeScript podem aceitar vários tipos de parâmetros, como parâmetros opcionais, padrões e rest. Vamos explorar cada tipo em detalhes.

Parâmetros opcionais

Você pode definir parâmetros opcionais adicionando ? após o nome do parâmetro. Parâmetros opcionais não precisam ser fornecidos quando a função é chamada.

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

console.log(greet("Alice")); // Output: Hello, Alice.
console.log(greet("Bob", 25)); // Output: Hello, Bob. You are 25 years old.

Neste exemplo, o parâmetro age é opcional. A função funciona corretamente quer age seja fornecido ou não.

Parâmetros Padrão

Parâmetros padrão permitem que você especifique valores padrão para parâmetros caso eles não sejam fornecidos quando a função for chamada.

function multiply(a: number, b: number = 2): number {
  return a * b;
}

console.log(multiply(5)); // Output: 10
console.log(multiply(5, 3)); // Output: 15

Neste exemplo, o parâmetro b tem um valor padrão de 2. Se nenhum segundo argumento for fornecido, 2 será usado por padrão.

Parâmetros de descanso

Parâmetros rest permitem que você passe um número variável de argumentos para uma função. Eles são definidos usando a sintaxe ....

function sum(...numbers: number[]): number {
  return numbers.reduce((total, num) => total + num, 0);
}

console.log(sum(1, 2, 3, 4)); // Output: 10
console.log(sum(5, 10, 15)); // Output: 30

Neste exemplo, a função sum aceita qualquer número de argumentos, todos do tipo number, e retorna sua soma.

Tipos de retorno em TypeScript

Especificar o tipo de retorno de uma função é tão importante quanto definir tipos de parâmetros. Ajuda o TypeScript a entender a saída esperada da função, garantindo que ela retorne o tipo correto de dados.

Especificando Tipos de Retorno

Para especificar o tipo de retorno de uma função, adicione dois pontos : seguido do tipo após a lista de parâmetros.

function isEven(num: number): boolean {
  return num % 2 === 0;
}

console.log(isEven(4)); // Output: true
console.log(isEven(5)); // Output: false

Neste exemplo, a função isEven retorna um booleano indicando se o número de entrada é par ou não.

Funções sem tipo de retorno

Quando uma função não retorna um valor, seu tipo de retorno é void. Isso é útil para funções que realizam uma ação sem fornecer um resultado.

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

logMessage("Hello, TypeScript!"); // Output: Hello, TypeScript!

Neste exemplo, a função logMessage registra uma mensagem no console e não retorna nada, portanto o tipo de retorno é void.

Conclusão

As funções TypeScript fornecem uma maneira poderosa de escrever código com segurança de tipo definindo tipos de parâmetros e tipos de retorno. Ao usar parâmetros opcionais, padrão e rest, bem como especificar tipos de retorno, você pode criar funções mais robustas e sustentáveis. Comece a usar funções TypeScript em seus projetos para garantir melhor qualidade e segurança do código.