Funkcje TypeScript: Jak używać parametrów i typów zwracanych
Funkcje są podstawowymi elementami każdego języka programowania, a TypeScript je ulepsza, dodając bezpieczeństwo typu. Definiując typy dla parametrów i wartości zwracanych, TypeScript pozwala programistom pisać bardziej niezawodny i łatwy w utrzymaniu kod. Ten przewodnik zapozna Cię z funkcjami TypeScript, omawiając, jak skutecznie używać parametrów i typów zwracanych.
Definiowanie funkcji w TypeScript
W TypeScript funkcje można definiować za pomocą słowa kluczowego function
, podobnie jak w JavaScript. Jednak TypeScript pozwala określić typy parametrów i wartości zwracanych dla dodatkowego bezpieczeństwa i czytelności.
Przykład podstawowej funkcji
Oto przykład podstawowej funkcji TypeScript z parametrami typu i typem zwracanym:
function add(a: number, b: number): number {
return a + b;
}
const result = add(5, 3); // Output: 8
W tym przykładzie funkcja add
akceptuje dwa parametry typu number
i zwraca wartość typu number
. Dzięki temu zarówno dane wejściowe, jak i wyjściowe są zgodne z oczekiwanymi typami.
Parametry funkcji w TypeScript
Funkcje TypeScript mogą akceptować różne typy parametrów, takie jak opcjonalne, domyślne i parametry rest. Przyjrzyjmy się każdemu typowi szczegółowo.
Parametry opcjonalne
Możesz zdefiniować parametry opcjonalne, dodając ?
po nazwie parametru. Parametry opcjonalne nie muszą być podawane, gdy funkcja jest wywoływana.
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.
W tym przykładzie parametr age
jest opcjonalny. Funkcja działa poprawnie niezależnie od tego, czy parametr age
jest podany, czy nie.
Parametry domyślne
Parametry domyślne umożliwiają określenie wartości domyślnych parametrów na wypadek, gdyby nie zostały one podane podczas wywołania funkcji.
function multiply(a: number, b: number = 2): number {
return a * b;
}
console.log(multiply(5)); // Output: 10
console.log(multiply(5, 3)); // Output: 15
W tym przykładzie parametr b
ma wartość domyślną 2
. Jeśli nie podano drugiego argumentu, domyślnie zostanie użyty 2
.
Parametry odpoczynku
Parametry resztowe pozwalają na przekazanie zmiennej liczby argumentów do funkcji. Są one definiowane przy użyciu składni ...
.
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
W tym przykładzie funkcja sum
akceptuje dowolną liczbę argumentów, wszystkie typu liczba
, i zwraca ich sumę.
Typy zwracane w TypeScript
Określenie typu zwracanego przez funkcję jest równie ważne, jak zdefiniowanie typów parametrów. Pomaga to TypeScript zrozumieć oczekiwany wynik funkcji, zapewniając, że zwraca ona poprawny typ danych.
Określanie typów zwracanych
Aby określić typ zwracany przez funkcję, należy dodać dwukropek :
, a następnie typ po liście parametrów.
function isEven(num: number): boolean {
return num % 2 === 0;
}
console.log(isEven(4)); // Output: true
console.log(isEven(5)); // Output: false
W tym przykładzie funkcja isEven
zwraca wartość logiczną wskazującą, czy liczba wejściowa jest parzysta, czy nie.
Funkcje bez typu zwracanego
Gdy funkcja nie zwraca wartości, jej typem zwracanym jest void
. Jest to przydatne w przypadku funkcji, które wykonują działanie bez podawania wyniku.
function logMessage(message: string): void {
console.log(message);
}
logMessage("Hello, TypeScript!"); // Output: Hello, TypeScript!
W tym przykładzie funkcja logMessage
rejestruje komunikat na konsoli i nic nie zwraca, stąd typem zwracanym jest void
.
Wniosek
Funkcje TypeScript zapewniają potężny sposób pisania kodu bezpiecznego pod względem typu poprzez definiowanie typów parametrów i typów zwracanych. Używając opcjonalnych, domyślnych i restowych parametrów, a także określając typy zwracane, możesz tworzyć bardziej niezawodne i łatwiejsze w utrzymaniu funkcje. Zacznij używać funkcji TypeScript w swoich projektach, aby zapewnić lepszą jakość i bezpieczeństwo kodu.