Как использовать функции в TypeScript. Руководство для начинающих
Функции являются фундаментальным строительным блоком в TypeScript, как и в JavaScript. TypeScript расширяет функции JavaScript дополнительными возможностями, такими как аннотации типов, которые повышают ясность кода и предотвращают ошибки. Это руководство для начинающих покажет вам, как использовать функции в TypeScript.
Определение функций
В TypeScript можно определять функции так же, как в JavaScript, но с дополнительными аннотациями типов для указания типов параметров и возвращаемых значений.
Определение базовой функции
Вот как определяется простая функция в TypeScript:
function greet(name: string): string {
return "Hello, " + name;
}В этом примере name является параметром типа string, а функция возвращает значение типа string.
Параметры функции и типы возвращаемых данных
TypeScript позволяет указывать типы параметров функции и возвращаемых значений, помогая гарантировать правильное использование функции.
Функция с параметрами
Вот функция, которая принимает два параметра и возвращает их сумму:
function add(x: number, y: number): number {
return x + y;
}В этой функции и x, и y имеют тип number, и функция возвращает number.
Функции без возвращаемого значения
Не все функции должны возвращать значение. Функции без возвращаемого значения объявляются с возвращаемым типом void. Эти функции выполняют действия, но не производят результат.
Пример без возвращаемого значения
function logMessage(message: string): void {
console.log(message);
}В этом примере logMessage выводит message на консоль, но не возвращает никакого значения.
Необязательные параметры и параметры по умолчанию
TypeScript поддерживает необязательные и стандартные параметры, что позволяет создавать более гибкие функции.
Необязательные параметры
Необязательные параметры указываются путем добавления ? после имени параметра:
function greet(name: string, greeting?: string): string {
if (greeting) {
return greeting + ", " + name;
}
return "Hello, " + name;
}В этом примере greeting — необязательный параметр, который можно опустить при вызове функции.
Параметры по умолчанию
Параметры по умолчанию имеют значение по умолчанию, если значение не указано:
function greet(name: string, greeting: string = "Hello"): string {
return greeting + ", " + name;
}Если приветствие не указано, по умолчанию используется "Hello".
Перегрузка функций
TypeScript поддерживает перегрузку функций, что позволяет определять несколько сигнатур функций для одного и того же имени функции:
function greet(name: string): string;
function greet(name: string, age: number): string;
function greet(name: string, age?: number): string {
if (age !== undefined) {
return `Hello, ${name}. You are ${age} years old.`;
}
return `Hello, ${name}.`;
}В этом примере greet можно вызвать с одним или двумя параметрами.
Функции стрелок
Стрелочные функции предоставляют более короткий синтаксис для записи функций и не имеют собственного контекста this:
const add = (x: number, y: number): number => x + y;В этом примере показано, как определить стрелочную функцию, которая складывает два числа.
Заключение
Функции в TypeScript — это мощный способ инкапсуляции и повторного использования кода. Используя аннотации типов, необязательные и стандартные параметры, перегрузку функций и стрелочные функции, вы можете писать более надежный и поддерживаемый код. Понимание этих основ поможет вам в полной мере использовать возможности TypeScript в своих проектах.