Функції TypeScript: як використовувати параметри та типи повернення

Функції є будівельними блоками будь-якої мови програмування, і TypeScript покращує їх, додаючи захист типів. Визначаючи типи для параметрів і значень, що повертаються, TypeScript дозволяє розробникам писати більш надійний код, який зручно підтримувати. Цей посібник познайомить вас із функціями TypeScript, розповість, як ефективно використовувати параметри та типи, що повертаються.

Визначення функції в TypeScript

У TypeScript функції можна визначити за допомогою ключового слова function, подібно до JavaScript. Однак TypeScript дозволяє вказувати типи параметрів і повертаються значення для додаткової безпеки та читабельності.

Приклад базової функції

Ось приклад базової функції TypeScript із введеними параметрами та типом повернення:

function add(a: number, b: number): number {
  return a + b;
}

const result = add(5, 3); // Output: 8

У цьому прикладі функція add приймає два параметри типу number і повертає значення типу number. Це гарантує, що і вхід, і вихід відповідають очікуваним типам.

Параметри функції в TypeScript

Функції TypeScript можуть приймати різні типи параметрів, як-от необов’язкові параметри, параметри за замовчуванням і інші. Розглянемо кожен тип докладніше.

Необов'язкові параметри

Ви можете визначити додаткові параметри, додавши ? після імені параметра. Під час виклику функції не потрібно вказувати додаткові параметри.

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.

У цьому прикладі параметр age необов’язковий. Функція працює належним чином незалежно від того, надано age чи ні.

Параметри за замовчуванням

Параметри за замовчуванням дозволяють вказати значення за замовчуванням для параметрів, якщо вони не надаються під час виклику функції.

function multiply(a: number, b: number = 2): number {
  return a * b;
}

console.log(multiply(5)); // Output: 10
console.log(multiply(5, 3)); // Output: 15

У цьому прикладі параметр b має значення за замовчуванням 2. Якщо другий аргумент не надано, 2 використовуватиметься за замовчуванням.

Параметри відпочинку

Параметри Rest дозволяють передавати функції різну кількість аргументів. Вони визначаються за допомогою синтаксису ....

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

У цьому прикладі функція sum приймає будь-яку кількість аргументів, усі типу number, і повертає їхню суму.

Повернуті типи в TypeScript

Вказати тип повернення функції так само важливо, як і визначити типи параметрів. Це допомагає TypeScript зрозуміти очікуваний вихід функції, гарантуючи, що вона повертає правильний тип даних.

Визначення типів повернення

Щоб указати тип повернення функції, додайте двокрапку : і тип після списку параметрів.

function isEven(num: number): boolean {
  return num % 2 === 0;
}

console.log(isEven(4)); // Output: true
console.log(isEven(5)); // Output: false

У цьому прикладі функція isEven повертає boolean, що вказує, чи є введене число парним чи ні.

Функції без типу повернення

Якщо функція не повертає значення, її тип повертається void. Це корисно для функцій, які виконують дію без надання результату.

function logMessage(message: string): void {
  console.log(message);
}

logMessage("Hello, TypeScript!"); // Output: Hello, TypeScript!

У цьому прикладі функція logMessage записує повідомлення на консоль і нічого не повертає, отже, тип повернення — void.

Висновок

Функції TypeScript забезпечують потужний спосіб написання безпечного коду шляхом визначення типів параметрів і типів повернення. Використовуючи необов’язкові параметри, параметри за замовчуванням і rest, а також вказуючи типи повернення, ви можете створювати більш надійні та підтримувані функції. Почніть використовувати функції TypeScript у своїх проектах, щоб забезпечити кращу якість і безпеку коду.