Aparência
Funções Básicas
As funções são um dos blocos fundamentais de construção de qualquer linguagem de programação. No TypeScript, além de usar funções da mesma maneira que no JavaScript, você pode adicionar tipagem estática aos parâmetros e ao valor de retorno das funções. Isso torna o código mais seguro e fácil de entender.
Declaração de Funções
As funções em TypeScript podem ser declaradas de várias maneiras, incluindo funções nomeadas, funções anônimas e arrow functions. Vamos explorar cada uma dessas formas:
Funções Nomeadas:
Uma função nomeada é declarada usando a palavra-chave function
, seguida pelo nome da função, uma lista de parâmetros e um corpo de função.
typescript
function greet(name: string): string {
return `Hello, ${name}!`;
}
console.log(greet("Alice")); // Saída: Hello, Alice!
Neste exemplo, a função greet
recebe um parâmetro name
do tipo string
e retorna uma string
.
Funções Anônimas:
Funções anônimas são funções sem nome e geralmente são usadas como argumentos para outras funções.
typescript
const add = function (a: number, b: number): number {
return a + b;
};
console.log(add(5, 3)); // Saída: 8
Arrow Functions:
Arrow functions são uma sintaxe mais curta para escrever funções anônimas. Elas são particularmente úteis em contextos onde você precisa de funções curtas e simples.
typescript
const multiply = (a: number, b: number): number => {
return a * b;
};
console.log(multiply(4, 3)); // Saída: 12
Tipagem de Parâmetros e Retorno
A tipagem estática em TypeScript permite que você defina os tipos de parâmetros que uma função aceita e o tipo de valor que ela retorna. Isso ajuda a evitar erros e facilita a compreensão do código.
Tipagem de Parâmetros:
Você pode especificar os tipos dos parâmetros diretamente na declaração da função.
typescript
function subtract(a: number, b: number): number {
return a - b;
}
console.log(subtract(10, 4)); // Saída: 6
No exemplo acima, a função subtract
recebe dois parâmetros do tipo number
.
Tipagem de Retorno:
Você também pode especificar o tipo do valor de retorno da função após os parâmetros.
typescript
function divide(a: number, b: number): number {
if (b === 0) {
throw new Error("Cannot divide by zero");
}
return a / b;
}
console.log(divide(10, 2)); // Saída: 5
A função divide
retorna um valor do tipo number
. Se você não especificar o tipo de retorno, TypeScript tentará inferi-lo automaticamente com base no valor retornado.
Funções com Parâmetros Opcionais e Padrão:
TypeScript permite que você defina parâmetros opcionais e parâmetros com valores padrão.
typescript
function greetOptional(name?: string): string {
if (name) {
return `Hello, ${name}!`;
} else {
return "Hello, stranger!";
}
}
console.log(greetOptional("Bob")); // Saída: Hello, Bob!
console.log(greetOptional()); // Saída: Hello, stranger!
No exemplo acima, name
é um parâmetro opcional. Se ele não for fornecido, a função usará um valor padrão.
Você também pode definir valores padrão para parâmetros.
typescript
function greetDefault(name: string = "stranger"): string {
return `Hello, ${name}!`;
}
console.log(greetDefault("Charlie")); // Saída: Hello, Charlie!
console.log(greetDefault()); // Saída: Hello, stranger!
Aqui, name
tem um valor padrão de "stranger" que será usado se nenhum argumento for passado.
Resumo
- Declaração de Funções: Funções podem ser declaradas de várias maneiras, incluindo funções nomeadas, funções anônimas e arrow functions.
- Tipagem de Parâmetros e Retorno: TypeScript permite especificar os tipos de parâmetros e o tipo de retorno das funções, proporcionando maior segurança e legibilidade ao código.
- Parâmetros Opcionais e Padrão: Parâmetros podem ser marcados como opcionais ou ter valores padrão, adicionando flexibilidade às funções.
Esses recursos ajudam a criar funções mais previsíveis e auto-documentadas, promovendo um desenvolvimento de software mais robusto e eficiente.