В TypeScript, помимо типизации аргументов, критически важно указывать тип данных, который функция возвращает. Это делается с помощью двоеточия после списка параметров: function name(): type { ... }.
Явная типизация возвращаемого значения помогает избежать ошибок, когда функция случайно возвращает неверные данные или не возвращает ничего (когда ожидается значение). Это также улучшает читаемость кода и работу автодополнения в IDE. Если функция может возвращать несколько типов, можно использовать объединение (Union Types), например : string | null. В этом уроке мы научимся закреплять контракты функций, гарантируя предсказуемое поведение при их использовании в приложении.
- Модуль 1: Введение в TypeScript
- Модуль 2: Примитивные типы
- Модуль 3: Специальные типы
- Модуль 4: Массивы
- Модуль 5: Кортежи (Tuples)
- Модуль 6: Объекты
- Модуль 7: Функции
- Модуль 8: Union типы
- Модуль 9: Литеральные типы
- Модуль 10: Type Aliases
- Модуль 11: Интерфейсы
- Модуль 12: Type Guards и Narrowing
- Модуль 13: Enums
- Модуль 14: Классы
- Модуль 15: Generics — основы
- Модуль 16: Generics — ограничения
- Модуль 17: Utility Types — базовые
- Модуль 18: Utility Types — работа с Union
- Модуль 19: Utility Types — функции
- Модуль 20: Type Assertions
- Модуль 21: Keyof и Typeof операторы
- Модуль 22: Mapped Types
- Модуль 23: Conditional Types
- Модуль 24: Discriminated Unions
- Модуль 25: Модули и типы
- Модуль 26: Declaration Files
- Модуль 27: Типизация асинхронного кода
- Модуль 28: Практические паттерны
1. Синтаксис возврата
В этом задании вам нужно дополнить код функции сложения двух чисел, добавив аннотацию возвращаемого типа. Функция принимает два аргумента типа number и возвращает их сумму. Ваша задача — указать правильный тип возвращаемого значения, используя синтаксис TypeScript. Обратите внимание, что аннотация типа возвращаемого значения ставится после списка параметров и перед телом функции.
function add(a: number, b: number) input1S {
return a + b;
}2. Выбор типа по логике
В данном задании представлены три функции на TypeScript, каждая из которых возвращает значение определённого типа. В сигнатурах функций пропущены аннотации типов возвращаемых значений. Используя выпадающие списки, выберите для каждой функции подходящий тип возврата, основываясь на логике работы функции и возвращаемом значении. Обратите внимание на различия между примитивными типами string, number и boolean.
function getUserName(): input1S {
return 'Alice';
}
function calculateSum(a: number, b: number): input2S {
return a + b;
}
function isPositive(value: number): input3S {
return value > 0;
}3. Несоответствие типов
В этом фрагменте кода TypeScript функция объявлена с типом возвращаемого значения string, но внутри возвращает числовое значение. Это приводит к ошибке типизации. Исправьте код так, чтобы тип возвращаемого значения соответствовал фактически возвращаемому значению, либо измените возвращаемое значение на строку, чтобы код стал корректным.
function calculateDiscount(price: number): string { const discount = price * 0.1; return discount;}4. Сборка сигнатуры
Из предложенных фрагментов соберите корректную сигнатуру стрелочной функции на TypeScript с именем isEven, которая принимает один параметр n типа number и явно указывает возвращаемый тип boolean. Функция не имеет тела (только сигнатура). Некоторые фрагменты являются лишними и не должны быть использованы. Обратите внимание на правильный порядок ключевых слов и синтаксических элементов.
constisEven=(n: number): boolean=>: numberboolean5. Разбор компонентов
В приведённой функции TypeScript выделите основные компоненты, связанные с типизацией возвращаемого значения. Вам нужно отметить: параметры функции (включая их имена и типы), аннотацию возвращаемого типа и тело функции. Это поможет лучше понимать, где и как в TypeScript явно указывается тип возвращаемого значения функции.
function {{getFullName~|~t1}}(first: string, last: string){{: string~|~t2}} {
return first + " " + last;
}{{ return first + " " + last;
~|~t3}}6. Проверка результата
Проанализируйте приведённый фрагмент кода на TypeScript. Обратите внимание на тип возвращаемого значения функции и операцию, выполняемую с этим результатом. Определите, что будет выведено в консоль после выполнения данного кода. Выберите один правильный вариант из предложенных ниже.
function getValue(): string {
return '10';
}
const result = getValue() + 5;
console.log(result);