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.