Массивы — одна из самых часто используемых структур данных. В TypeScript вы обязаны указывать, данные какого типа хранятся в массиве. Самый распространенный синтаксис для этого — добавление квадратных скобок к имени типа: string[], number[] или User[].
Это гарантирует, что вы случайно не добавите число в массив строк и не попытаетесь вызвать метод строки у числа. Существует также альтернативный синтаксис с использованием дженерика Array, который мы тоже затронем.
Этот тренажер поможет вам освоить базовую типизацию списков. Вы будете объявлять массивы, типизировать аргументы функций и работать с методами массивов, наблюдая, как TS защищает ваш код от типичных ошибок разработки.
- Модуль 1: Введение в TypeScript
- Модуль 2: Примитивные типы
- Модуль 3: Специальные типы
- Модуль 4: Массивы
- Типизация массивов (Type[]).
- Типизация массивов (Array).
- Массивы с несколькими типами.
- Readonly массивы.
- Модуль 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. Синтаксис квадратных скобок
В TypeScript для типизации массивов используется синтаксис `Type[]`. В этом задании вам нужно объявить массив чисел, указав тип элементов и квадратные скобки для обозначения массива. Дополните код так, чтобы он корректно объявлял массив `numbers` с типом `number[]` и инициализировал его значениями 1, 2, 3. После выполнения программа выведет массив в консоль.
// Объявите массив чисел с типом number[] и инициализируйте его значениями 1, 2, 3
let numbers: input1S input2S = [1, 2, 3];
console.log(numbers);2. Определение массива
В объявлении функции TypeScript выделите элементы, связанные с определением массива: тип элементов массива и синтаксические скобки, обозначающие массив. Обратите внимание на структуру типа `Type[]` — она указывает, что параметр является массивом определённого типа.
function calculateSum(values: {{number~|~t1}}{{[~|~t2}}{{]~|~t3}}): number {
return values.reduce((a, b) => a + b, 0);
}3. Неверный элемент
В представленном фрагменте кода TypeScript допущена ошибка, связанная с типизацией массива. Массив объявлен как содержащий только строки, но один из его элементов имеет неверный тип. Найдите и исправьте эту строку, чтобы код соответствовал объявленному типу string[] и мог быть успешно скомпилирован.
const colors: string[] = ['red', 'green', 'blue', 42];console.log(colors);4. Типизация параметра
Вам представлен фрагмент кода TypeScript, в котором функция принимает список имён пользователей. Ваша задача — выбрать правильный тип для параметра функции из предложенного списка вариантов. Обратите внимание, что тип должен соответствовать структуре данных, с которой работает функция. Для заполнения пропусков используйте выпадающие списки, которые появляются при клике на маркеры input1, input2 и т.д. Помните, что один и тот же вариант можно выбирать несколько раз для разных пропусков.
function printUserNames(users: input1S) {
for (const user of users) {
console.log(user);
}
}
const userList = ["Alice", "Bob", "Charlie"];
printUserNames(userList);5. Операции с массивом
Проанализируйте TypeScript-код сверху и восстановите последовательность логических шагов выполнения программы. Шаги снизу перемешаны — расставьте их в правильном порядке, чтобы отразить, как программа создаёт массив, выполняет операции с ним и выводит результаты.
const colors: string[] = [];
colors.push('red');
colors.push('green');
const firstColor = colors[0];
console.log(firstColor);
console.log(colors.length);6. Вывод типа
Проанализируйте фрагмент кода на TypeScript, в котором объявлен массив без явного указания типа. Выберите тип, который TypeScript автоматически выведет для этого массива на основе его содержимого. Обратите внимание на значения элементов массива и их влияние на вывод типа.
const arr = [1, 2, 3];7. Generic синтаксис
Из предложенных строк соберите корректную TypeScript-программу, которая объявляет массив чисел с использованием дженерик-синтаксиса Array
let numbers: Array<number>;numbers = [1, 2, 3];console.log(numbers[0]);let numbers: number[];console.log(numbers);