Основы TypeScript: Типизация функций и сигнатур
- Аннотации параметров и возвращаемых типов функций
- Необязательные и параметры по умолчанию
- Типы функций и присваивание переменных
- Перегрузки функций
Понимание того, как аннотировать параметры функций и возвращаемые типы, имеет решающее значение для эффективной разработки на TypeScript. Присоединяйтесь к нам, чтобы узнать о нюансах типизации функций, обеспечивающих ясность и уверенность в кодовой базе.
Аннотации параметров и возвращаемых типов функций
Вы можете явно указать типы параметров функции и возвращаемого типа с помощью аннотаций типов.
// Функция с аннотацией параметров и возвращаемого типа
function add(x: number, y: number): number {
return x + y;
}
let result: number = add(3, 5);
console.log(result); // Результат: 8
В этом примере функция add
принимает два параметра типа number
и возвращает значение типа number
.
Необязательные и параметры по умолчанию
Вы можете сделать параметры необязательными, добавив символ ?
после их имени, а также указать значения по умолчанию, используя синтаксис =
.
// Функция с необязательными и параметрами по умолчанию
function greet(name: string, greeting?: string): string {
if (greeting) {
return `${greeting}, ${name}!`;
} else {
return `Hello, ${name}!`;
}
}
console.log(greet("John")); // Результат: Hello, John!
console.log(greet("John", "Hi")); // Результат: Hi, John!
В этом примере функция greet имеет необязательный параметр (greeting
), и если он указан, то используется в приветствии.
Типы функций и присваивание переменных
Вы можете определять типы для функций и присваивать их переменным.
// Определение типа функции
type MathOperation = (a: number, b: number) => number;
// Function assigned to a variable with the defined type
const multiply: MathOperation = (x, y) => x * y;
let multiplicationResult: number = multiply(4, 6);
console.log(multiplicationResult); // Результат: 24
Здесь MathOperation
— это тип, представляющий функцию, которая принимает два параметра типа number
и возвращает значение типа number
.
Перегрузки функций
Вы можете использовать перегрузку функций, обеспечивая несколько сигнатур типов для одной функции.
// Перегрузки функции
function combine(a: string, b: string): string;
function combine(a: number, b: number): number;
function combine(a: any, b: any): any {
return a + b;
}
let stringResult: string = combine("Hello, ", "world!");
let numberResult: number = combine(3, 5);
console.log(stringResult); // Результат: Hello, world!
console.log(numberResult); // Результат: 8
В этом примере функция combine
имеет несколько сигнатур типов, что позволяет ей принимать либо две строки, либо два числа.
Правильная типизация функций и их параметров позволяет повысить ясность кода, улучшить инструментальную поддержку и выявлять потенциальные ошибки в процессе разработки.
Основы TypeScript
- Основы TypeScript: компилятор TypeScript (
tsc
) иtsconfig.json
- Основы TypeScript: JavaScript в сравнении с TypeScript
- Основы TypeScript: Примитивы и базовые типы
- Основы TypeScript: Неявные и Явные типы, Утверждения типов
- Основы TypeScript: Создание типов, перечислений и интерфейсов
- Основы TypeScript: Объединение, Литеральные и Размеченные типы
- Основы TypeScript: Типизация функций и сигнатур
- Основы TypeScript:
Any
,Void
,Never
,Null
, Строгие проверки Null - Основы TypeScript: ООП практика, классы и наследование