Типизация стрелочных функций
Часть раздела Введение в TypeScript путешествия по JavaScript на Coddy. Урок 23 из 73.
Для стрелочных функций вы добавляете аннотации типов к параметрам внутри круглых скобок, точно так же, как и в обычных функциях. Аннотация типа возвращаемого значения ставится после списка параметров, но перед стрелкой (=>):
const multiply = (a: number, b: number): number => {
return a * b;
};
const greet = (name: string): string => `Hello, ${name}!`;Основное отличие от обычных объявлений функций заключается в том, что аннотация типа возвращаемого значения указывается перед стрелкой, а не после имени функции. Это обеспечивает типобезопасность TypeScript, сохраняя при этом чистый современный синтаксис, который делает стрелочные функции популярными.
Задание
ЛегкоПреобразуйте следующее объявление обычной функции в стрелочную функцию, сохраняя все аннотации типов:
function subtract(a: number, b: number): number {
return a - b;
}Создайте стрелочную функцию с именем subtract, которая выполняет ту же операцию с теми же типами параметров и типом возвращаемого значения.
Затем создайте две дополнительные стрелочные функции:
- Стрелочную функцию с именем
createMessage, которая принимает параметрtextтипаstringи возвращает строку в формате"Message: [text]". Включите явные аннотации типов как для параметра, так и для типа возвращаемого значения. - Стрелочную функцию с именем
isPositive, которая принимает параметрnumтипаnumberи возвращаетtrue, если число больше 0, в противном случае —false. Включите явные аннотации типов как для параметра, так и для типа возвращаемого значения.
Протестируйте свои стрелочные функции, вызвав их со следующими значениями и выведя результаты на печать:
- Вызовите
subtractс10и3 - Вызовите
createMessageс"Hello World" - Вызовите
isPositiveс-5 - Вызовите
isPositivewith8
Выведите каждый результат на отдельной строке в указанном выше порядке.
Попробуйте сами
// TODO: Преобразуйте обычную функцию в стрелочную и создайте дополнительные стрелочные функции
// TODO: Создайте стрелочную функцию subtract с аннотациями типов
// TODO: Создайте стрелочную функцию createMessage с аннотациями типов
// TODO: Создайте стрелочную функцию isPositive с аннотациями типов
// TODO: Протестируйте свои стрелочные функции и выведите результатыВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Введение в TypeScript
1Начало работы с TS
Что такое TypeScript?Зачем использовать TypeScript?Ваш первый код на TypeScriptПроцесс компиляции и ошибкиИтоги: Введение в TS4Работа с функциями
Типизация параметров и возвращаемых значенийТипизация стрелочных функцийТип возвращаемого значения 'void'Необязательные параметры с '?'Значения параметров по умолчаниюТипизация Rest-параметровОпределение типов функцийИтоги: Создание типизированных функций2Основные типы
Базовые типы: str, num, booleanТип 'any': лазейкаТип 'unknown'Работа с 'null' и 'undef'Вывод типов в действииЯвные аннотации типовИтоги: Практика по основным типам5Типы: псевдонимы, объединения и пересечения
Псевдонимы типов для примитивовТипы объединения ('|')Работа с типами объединенияЛитеральные типыТипы пересечения ('&')Комбинирование псевдонимов типовИтоги: продвинутые комбинации типов3Структуры данных: массивы и кортежи
Типизированные массивыМодификатор 'readonly' для массивовЧто такое кортеж?Объявление кортежей и доступ к нимДеструктуризация кортежейКортежи readonlyМногомерные типизированные массивыОператор spread с массивамиИтоги: массивы и кортежиПотренируйтесь самостоятельно: Песочница TypeScript