O Ty­peS­cript permite definir tipos para funções, pa­râ­me­tros e valores de retorno. Isso ajuda a detectar erros mais cedo no processo e melhora a qualidade do código, ga­ran­tindo que os tipos de dados corretos sejam usados.

O que são as funções do Ty­peS­cript?

As funções no Ty­peS­cript são uma parte fun­da­men­tal da linguagem de pro­gra­ma­ção Ty­peS­cript. São se­me­lhan­tes às funções do Ja­vaS­cript, mas têm a vantagem adicional da tipagem estática. Esta ca­rac­te­rís­tica implica que os tipos de dados para variáveis, pa­râ­me­tros e valores de retorno são definidos no código durante a fase de design (tempo de com­pi­la­ção) e não podem ser alterados durante a execução, o que ajuda a reduzir os erros no ambiente de produção.

Outra ca­rac­te­rís­tica das funções do Ty­peS­cript é a sua fle­xi­bi­li­dade. Elas podem ter pa­râ­me­tros opcionais e pre­de­fi­ni­dos, o que as torna adap­tá­veis a di­fe­ren­tes situações de uso. Entre outras coisas, elas podem ser usadas para processar dados, interagir com a interface do uti­li­za­dor e lidar com operações as­sín­cro­nas. Além disso, elas podem definir so­bre­car­gas para oferecer di­fe­ren­tes fun­ci­o­na­li­da­des de acordo com os valores de entrada.

Além de declarar funções, no Ty­peS­cript também é possível utilizar funções seta, que possuem uma sintaxe mais compacta. Essas funções são comuns nas práticas modernas de de­sen­vol­vi­mento em Ja­vaS­cript. As funções no Ty­peS­cript são, portanto, um com­po­nente essencial que melhora a segurança e a le­gi­bi­li­dade do código em projetos Ty­peS­cript, ao mesmo tempo que pro­por­ci­o­nam fle­xi­bi­li­dade e adap­ta­bi­li­dade para atender a inúmeros re­qui­si­tos.

A sintaxe das funções do Ty­peS­cript

A sintaxe das funções em Ty­peS­cript é se­me­lhante à das funções em Ja­vaS­cript, uma vez que o Ty­peS­cript é um su­per­con­junto do Ja­vaS­cript. O código da função encontra-se dentro de chaves {}, nas quais é im­ple­men­tada a lógica da função. A seguir, pode ver a sintaxe geral de uma função em Ty­peS­cript:

function functionName(parameter1: type, parameter2: type): returnType {
    // Function Code
    return result; // (optional)
}
ty­pes­cript
  • função: esta palavra-chave marca o início da de­cla­ra­ção da função.
  • func­ti­on­Name: refere-se ao nome da função. Deve escolher um nome des­cri­tivo que reflita a tarefa da função.
  • parameter1, parameter2: são os pa­râ­me­tros esperados pela função. Cada parâmetro é ca­rac­te­ri­zado pelo seu nome e pelo tipo de dados esperado (anotação de tipo).
  • re­turnType: é o tipo de dados que a função retorna. Também pode es­pe­ci­fi­car void se a função não retornar nenhum valor.
  • return result: é opcional e é usado quando a função deve retornar um valor.

As funções Ty­peS­cript são chamadas uti­li­zando o seu nome seguido de pa­rên­te­ses. Entre colchetes, es­pe­ci­fi­cam-se os ar­gu­men­tos (valores de entrada) para a função, caso esta espere pa­râ­me­tros.

functionName(argument1, argument2, ...);
ty­pes­cript

Exemplos de uti­li­za­ção das funções do Ty­peS­cript

As funções do Ty­peS­cript são muito versáteis e podem realizar cálculos, operações e processos complexos nas apli­ca­ções.

Funções anónimas

As funções anónimas em Ty­peS­cript são funções que não têm nome e, portanto, são passadas di­re­ta­mente em ex­pres­sões ou como ar­gu­men­tos para outras funções. As funções anónimas oferecem vantagens se precisar apenas de uma função em um local do código e não quiser atribuir o seu próprio nome à função.

var greet = function(name) {
    return "Hello, " + name + "!";
};
var message = greet("John");
console.log(message); // Output: "Hello, John!"
ty­pes­cript

No exemplo anterior, a função anónima é ar­ma­ze­nada na variável greet e é chamada pos­te­ri­or­mente para criar uma mensagem de saudação per­so­na­li­zada para o nome John.

As funções anónimas também incluem as funções lambda, co­nhe­ci­das como funções seta.

const add = (a: number, b: number) => a + b;
const result = add(3, 5); // Output: 8
ty­pes­cript

Neste código, uma função anónima que soma dois números é atribuída à variável add e, em seguida, chamada.

Pa­râ­me­tros pre­de­fi­ni­dos

Os pa­râ­me­tros padrão, também co­nhe­ci­dos como pa­râ­me­tros padrão ou pre­de­fi­ni­dos, permitem definir funções Ty­peS­cript para que tenham valores padrão para os pa­râ­me­tros. Se a função for chamada e nenhum valor for passado para um parâmetro, o valor padrão será usado em seu lugar.

function greet(name: string = "World") {
    return "Hello, " + name + "!";
}
console.log(greet()); // Output: "Hello, World!"
console.log(greet("John")); // Output: "Hello, John!"
ty­pes­cript

Neste caso, a função greet tem o valor padrão world para o parâmetro name. Se nenhum valor for passado para name quando a função for chamada, o valor padrão será usado au­to­ma­ti­ca­mente.

Pa­râ­me­tros restantes

Os pa­râ­me­tros rest, também co­nhe­ci­dos como ope­ra­do­res rest ou sintaxe de pa­râ­me­tros rest, permitem re­pre­sen­tar um número in­de­fi­nido de ar­gu­men­tos como Ty­peS­cript array dentro de uma função. Esta ação é útil quando se deseja escrever funções que devem lidar com uma quan­ti­dade variável de ar­gu­men­tos.

A sua sintaxe ficaria da seguinte forma:

function sum(...numbers: number[]): number {
    let total = 0;
    for (const num of numbers) {
        total += num;
    }
    return total;
}
console.log(sum(1, 2, 3, 4, 5)); // Output: 15
ty­pes­cript

O código define uma função chamada sum, que recebe uma quan­ti­dade variável de números usando o parâmetro rest numbers. Em seguida, todos os valores são somados para calcular o total. Pode passar quantos números quiser, pois a função irá somá-los todos.

So­bre­car­gas

As funções de so­bre­carga do Ty­peS­cript (function overloads) servem para definir várias de­cla­ra­ções de funções com o mesmo nome, mas com di­fe­ren­tes tipos de pa­râ­me­tros ou de retorno. Desta forma, o Ty­peS­cript pode se­le­ci­o­nar au­to­ma­ti­ca­mente a de­cla­ra­ção de função correta de acordo com os ar­gu­men­tos for­ne­ci­dos e realizar ve­ri­fi­ca­ções de tipos.

function concatenate(a: string, b: string): string;
function concatenate(a: number, b: number): string;
function concatenate(a: any, b: any): string {
    return a.toString() + b.toString();
}
console.log(concatenate("Hello, ", "World")); // Output: "Hello, World"
console.log(concatenate(3, 5)); // Output: "35"
ty­pes­cript

No exemplo acima, são mostradas duas so­bre­car­gas de funções para concatenate. A primeira aceita duas cadeias de texto e a segunda aceita dois números. A im­ple­men­ta­ção real da função converte os ar­gu­men­tos for­ne­ci­dos em cadeias de texto e concatena-os. O Ty­peS­cript determina au­to­ma­ti­ca­mente qual so­bre­carga usar com base nos ar­gu­men­tos que lhe são passados e realiza as ve­ri­fi­ca­ções de tipos ne­ces­sá­rias.

As so­bre­car­gas de funções são es­pe­ci­al­mente úteis ao de­sen­vol­ver uma API ou bi­bli­o­teca na qual se deseja garantir que o uso da função seja simples e não contenha erros, in­de­pen­den­te­mente dos di­fe­ren­tes tipos de pa­râ­me­tros que os uti­li­za­do­res possam fornecer.

Ir para o menu principal