Функции 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 могут принимать различные типы параметров, такие как необязательные, параметры по умолчанию и параметры rest. Давайте рассмотрим каждый тип подробно.

Необязательные параметры

Вы можете определить необязательные параметры, добавив ? после имени параметра. Необязательные параметры не обязательно указывать при вызове функции.

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.

Параметры отдыха

Оставшиеся параметры позволяют передавать функции различное количество аргументов. Они определяются с помощью синтаксиса ....

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 в своих проектах, чтобы обеспечить лучшее качество и безопасность кода.