En aquest tema, explorarem com definir i utilitzar tipus de funció en TypeScript. Les funcions són una part fonamental de qualsevol llenguatge de programació, i TypeScript ens permet definir tipus per a les funcions per assegurar-nos que s'utilitzen correctament.

Continguts

Definició de Tipus de Funció

En TypeScript, podem definir el tipus d'una funció especificant els tipus dels seus paràmetres i el tipus del seu valor de retorn. Això ens ajuda a assegurar-nos que les funcions s'utilitzen correctament i que els valors passats i retornats són del tipus esperat.

Sintaxi Bàsica

let myFunction: (param1: tipus1, param2: tipus2) => tipusRetorn;

Exemple

let add: (a: number, b: number) => number;
add = (x, y) => {
    return x + y;
};

En aquest exemple, add és una funció que pren dos paràmetres de tipus number i retorna un number.

Tipus de Funció Anònima

Les funcions anònimes són funcions que no tenen un nom. Podem definir el tipus d'una funció anònima de la mateixa manera que ho fem amb les funcions nominals.

Exemple

let multiply: (a: number, b: number) => number = function(x, y) {
    return x * y;
};

En aquest exemple, multiply és una funció anònima que pren dos paràmetres de tipus number i retorna un number.

Tipus de Funció Nominal

Les funcions nominals són funcions que tenen un nom. Podem definir el tipus d'una funció nominal utilitzant la mateixa sintaxi que per a les funcions anònimes.

Exemple

function divide(a: number, b: number): number {
    return a / b;
}

En aquest exemple, divide és una funció nominal que pren dos paràmetres de tipus number i retorna un number.

Exemples Pràctics

Exemple 1: Funció amb Paràmetres Opcional i per Defecte

let greet: (name: string, greeting?: string) => string;
greet = (name, greeting = "Hello") => {
    return `${greeting}, ${name}!`;
};

console.log(greet("Alice")); // Output: Hello, Alice!
console.log(greet("Bob", "Hi")); // Output: Hi, Bob!

Exemple 2: Funció amb Paràmetres Rest

let sum: (...numbers: number[]) => number;
sum = (...nums) => {
    return nums.reduce((acc, curr) => acc + curr, 0);
};

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

Exercicis

Exercici 1

Defineix una funció subtract que prengui dos paràmetres de tipus number i retorni un number.

// Defineix la funció aquí

Solució

let subtract: (a: number, b: number) => number;
subtract = (x, y) => {
    return x - y;
};

Exercici 2

Defineix una funció concatStrings que prengui un nombre variable de paràmetres de tipus string i retorni un string que sigui la concatenació de tots els paràmetres.

// Defineix la funció aquí

Solució

let concatStrings: (...strings: string[]) => string;
concatStrings = (...strs) => {
    return strs.join('');
};

console.log(concatStrings("Hello", " ", "World", "!")); // Output: Hello World!

Conclusió

En aquest tema, hem après com definir i utilitzar tipus de funció en TypeScript. Hem vist com definir funcions amb paràmetres opcionals, per defecte i rest, i hem practicat amb alguns exercicis. Ara estem preparats per avançar al següent tema, on explorarem els paràmetres opcional i per defecte en més detall.

© Copyright 2024. Tots els drets reservats