Работа с объектами становится намного удобнее, когда мы используем Type Aliases (псевдонимы типов). Вместо того чтобы дублировать структуру объекта каждый раз, когда мы объявляем переменную или аргумент функции, мы можем создать единое описание с помощью ключевого слова type.
Пример: type User = { name: string; age: number };. Теперь этот псевдоним можно использовать везде, где ожидается объект такой структуры. Это делает код чище, читаемее и упрощает изучение сложных структур данных. Type Aliases отлично подходят для описания форм объектов, объединений и пересечений типов.
В этом блоке вас ждут интерактивные упражнения, где вы научитесь объявлять свои типы для объектов и применять их к переменным. Это важный шаг в освоении TypeScript, который позволяет создавать переиспользуемые и масштабируемые конструкции без лишнего кода.
- Модуль 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. Объявление Type Alias
В этом задании вам предстоит объявить псевдоним типа (type alias) для объекта, представляющего автомобиль. Вам нужно заполнить пропуски в коде так, чтобы объявление типа Car стало синтаксически корректным и соответствовало стандартам TypeScript. Обратите внимание на ключевые слова и операторы, используемые при создании type alias для объектов.
input1S Car input2S {
brand: string;
model: string;
year: number;
}
const myCar: Car = {
brand: "Toyota",
model: "Camry",
year: 2020
};2. Сопоставление полей и типов
В левой колонке перечислены названия полей объекта, который описывает пользователя в системе. В правой колонке приведены типы данных TypeScript. Сопоставьте каждое поле объекта с соответствующим ему типом. Обратите внимание, что типы в правой колонке представлены в синтаксисе TypeScript и могут включать как простые типы, так и составные (например, массивы).
numberstringstring[]booleanDate3. Конструктор типа Product
Из предложенных строк соберите корректное определение типа Product в TypeScript. Тип должен содержать поля: id (тип number), name (тип string), price (тип number), inStock (тип boolean). Поля должны идти именно в таком порядке. Лишние строки в решение включать не нужно.
type Product = { id: number; name: string; price: number; inStock: boolean;}interface Product { id: string; category: string;4. Синтаксическая ошибка в алиасе
В этом фрагменте кода TypeScript допущена синтаксическая ошибка в определении алиаса типа для объекта. Алиас должен корректно описывать структуру объекта, но использован неверный разделитель между свойствами. Исправьте строку с ошибкой, чтобы код стал валидным и компилировался без ошибок.
type User = { name: string; age: number, email: string;}; const user: User = { name: "Alice", age: 30, email: "alice@example.com"};5. Применение типа к переменной
В данном фрагменте кода объявлен псевдоним типа (type alias) для объекта, описывающего книгу. Необходимо заполнить пропуски, выбрав из выпадающего списка подходящие имена типов, чтобы корректно определить переменные. Обратите внимание, что после двоеточия указывается тип переменной, который должен соответствовать ранее объявленному псевдониму.
type Book = {
title: string;
author: string;
year: number;
};
let myBook: input1S = {
title: "TypeScript in Action",
author: "Jane Doe",
year: 2023
};
let anotherBook: input2S = {
title: "Learning TypeScript",
author: "John Smith",
year: 2022
};6. Логика проверки типов
Проанализируйте TypeScript-код сверху и восстановите последовательность логических шагов выполнения программы. Шаги снизу перемешаны — расставьте их в правильном порядке, чтобы отразить, как программа объявляет тип, создаёт объект этого типа и обращается к его свойствам.
type Person = {
name: string;
age: number;
};
const person: Person = {
name: "Alice",
age: 30
};
console.log(`Name: ${person.name}`);7. Типы свойств
Перед вами список названий свойств объекта, описанного с помощью Type Alias в TypeScript. Распределите каждое название свойства по одной из двух категорий: «String Properties» (свойства строкового типа) или «Number Properties» (свойства числового типа). Для выполнения задания используйте предоставленный код Type Alias, чтобы определить тип каждого свойства. Всего нужно распределить 6 элементов.
8. Выбор обязательных полей
Перед вами объявление Type Alias для объекта в TypeScript. Внимательно изучите код и отметьте кликом все строки, в которых определены поля объекта (пары "ключ: тип"). Не отмечайте строки с комментариями, объявлением самого псевдонима (type User = {), закрывающей фигурной скобкой или пустыми строками.
{{type User = {~|~t0}}
{{ // Уникальный идентификатор~|~t1}}
{{ id: number;~|~t2}}
{{ name: string;~|~t3}}
{{ email: string;~|~t4}}
{{ age?: number;~|~t5}}
{{ isActive: boolean;~|~t6}}
{{}~|~t7}}