Объявление кортежей

Тренажер по TypeScript для пользователей с начальным уровнем подготовки.

Тренажер по TypeScript

Кортежи (Tuples) — это особый вид массивов в TypeScript, где мы точно знаем количество элементов и их типы на определенных позициях. Это мощный инструмент для описания строк CSV, координат или пар «ключ-значение».

Синтаксис выглядит как [type, type]. Например, [string, number] означает, что первый элемент всегда строка, а второй — число. В этом уроке мы разберем, как правильно объявлять кортежи и зачем они нужны.

Вас ждут задачи на создание кортежей, доступ к элементам и понимание ограничений, которые они накладывают. Вы узнаете, как работает типизация при обращении по индексу. Используйте этот тренажер для отработки синтаксиса. Все задания выполняются без регистрации.

Список тем

1. Объявление типа кортежа

id: 40640_tup_replace_decl

В этом задании вам нужно объявить переменную `person` как кортеж (tuple) TypeScript. Кортеж должен содержать два элемента: строку и число. Используйте предоставленные значения 'Alice' и 25. Заполните пропуски в коде так, чтобы он корректно компилировался и выводил имя и возраст. Обратите внимание на синтаксис объявления типа кортежа и присваивания значения.

Заполните пропуски
let person: input1S = input2S;
let name = person[0];
let age = person[1];
console.log(name);
console.log(age);
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

2. Распределение значений

id: 40640_tup_sort_items

Перед вами шесть массивов значений в TypeScript. Распределите их по трём категориям в соответствии с объявленным типом кортежа, которому они соответствуют. Каждый массив должен быть помещён в одну из категорий: [number, string], [boolean, number] или [string, boolean]. Обратите внимание на порядок и типы элементов в каждом массиве.

Перетяните элементы в соответствующие блоки
[number, string]
[boolean, number]
[string, boolean]
[1, 'hello']
[true, 42]
['test', false]
[100, 'world']
[false, 0]
['yes', true]
Сообщения
Проверить
Показать подсказку

3. Сборка объявления

id: 40640_tup_build_def

Из предложенных фрагментов соберите корректное объявление переменной-кортежа в TypeScript. Переменная должна называться coords, иметь тип кортежа из двух чисел [number, number] и инициализироваться значением [10, 20]. Некоторые фрагменты являются лишними и не должны входить в итоговое решение.

Перетяните в правильном порядке строки из одного блока в другой
let
coords
:
[number, number]
=
[10, 20]
;
const
coord
[string, number]
[20, 10]
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

4. Доступ по индексу

id: 40640_tup_give_res_index

Рассмотрите фрагмент кода на TypeScript, в котором объявлен кортеж (tuple) и выполняется обращение к его элементам по индексу. Определите, какое значение будет выведено в консоль. Введите это значение в поле ответа. Обратите внимание, что индексация в кортежах начинается с нуля, как и в массивах.

Что должно получиться?
const user: [string, number] = ['Bob', 30];
console.log(user[1]);
Сообщения
Проверить
Показать подсказку

5. Ошибка порядка типов

id: 40640_tup_error_order

В этом фрагменте TypeScript-кода объявлен кортеж с определённым порядком типов, но при присваивании значения порядок элементов нарушен. Найдите и исправьте строку с ошибкой, чтобы значения соответствовали объявленному порядку типов в кортеже.

Найдите ошибку и исправьте
let myTuple: [string, boolean];
myTuple = [true, 'text'];
console.log(myTuple[0]);
console.log(myTuple[1]);
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

6. Порядок определения

id: 40640_tup_sequencing_logic

Перед вами строки кода TypeScript, которые представляют собой части объявления кортежа (tuple). Кортеж — это массив фиксированной длины с заранее известными типами элементов. Расставьте строки в правильном порядке, чтобы получилось корректное объявление кортежа с явной типизацией и присваиванием значений. Обратите внимание на последовательность: сначала определяется имя переменной, затем указывается тип кортежа, после чего присваивается массив значений.

Расставьте строки в правильном порядке
["hello", 42]
=
let tuple
: [string, number]
;
Сообщения
Проверить
Показать подсказку

7. Разметка структуры

id: 40640_tup_highlight_types

Разметьте объявление кортежа в TypeScript, указав для выделенных фрагментов: тип первого элемента, тип второго элемента и присваиваемое значение (массив). Это задание поможет закрепить понимание синтаксиса объявления кортежей и их структуры.

Кликните по каждому выделенному фрагменту и выберите для него подходящий тип из списка под текстом.
let point: [{{number~|~t1}}, {{string~|~t2}}] = {{[10, "center"]~|~t3}};
Тип второго элемента
Присваиваемое значение
Тип первого элемента
Сообщения
Проверить
Показать подсказку

TypeScript: компиляция и запуск

id: 40640_compiler

Этот пример показывает, как объявлять кортежи (tuples) в TypeScript: фиксированная длина и строгие типы по позициям. Поиграйте с данными: поменяйте порядок элементов в кортеже, добавьте третье значение или замените тип — и посмотрите, где компилятор начнёт ругаться. Попробуйте расширить кортеж новыми полями (например, добавить роль пользователя) и обновить функции, чтобы они продолжали работать. Также раскомментируйте «неправильные» строки — они специально оставлены, чтобы вы увидели типичные ошибки.

TS
Запустить тренажёр (TypeScript)
НайтиКурс.Ру