0Pricing
TypeScript Academy · Урок

Типизированные массивы: T[] и Array<T>

Типизируйте массивы и предотвращайте смешивание несовместимых значений.

«Типизированные массивы: T[] и Array<T>» — бесплатный урок TypeScript Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения TypeScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс TypeScript Academy содержит 4 уроков всего.

Добро пожаловать

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

Синтаксис T[]

Самый распространённый способ задать тип массива — добавить [] к типу элементов. Это называется сокращённым синтаксисом.
const numbers: number[] = [1, 2, 3];
const names: string[] = ['Alice', 'Bob'];
const flags: boolean[] = [true, false, true];

Обобщённый синтаксис Array<T>

Обобщённый синтаксис Array эквивалентен T[]. Некоторые команды предпочитают его для единообразия с другими обобщёнными типами.
const scores: Array<number> = [95, 87, 73];
const tags: Array<string> = ['typescript', 'beginner'];

Ошибки типов в массивах

Если попытаться добавить значение неправильного типа, TypeScript сообщит об ошибке. Это предотвращает ошибки, которые могут возникнуть из-за массивов со смешанными типами.
const ids: number[] = [1, 2, 3];
// ids.push('four'); // Error: Argument of type 'string' is not assignable to 'number'

Вывод типов массивов

Если Вы инициализируете массив значениями, TypeScript выводит тип его элементов. Для пустого массива выводится `never[]` — всегда добавляйте аннотацию к пустым массивам.
const nums = [1, 2, 3];    // inferred: number[]
const mixed = [1, 'hi'];   // inferred: (string | number)[]
const empty: string[] = []; // must annotate

Массивы объектов

Для задания типа массива объектов можно использовать интерфейс или псевдоним типа в качестве типа элементов.
interface User { id: number; name: string; }
const users: User[] = [
  { id: 1, name: 'Alice' },
  { id: 2, name: 'Bob' },
];

Типизация распространённых методов массивов

TypeScript понимает встроенные методы массивов. map, filter и find возвращают результаты с корректными типами.
const nums: number[] = [1, 2, 3, 4];
const doubled: number[] = nums.map(n => n * 2);
const evens: number[] = nums.filter(n => n % 2 === 0);

Вложенные массивы

Чтобы задать тип двумерного массива, вложите один синтаксис типа массива в другой.
const matrix: number[][] = [
  [1, 2, 3],
  [4, 5, 6],
];

Массивы с объединёнными типами

Чтобы разрешить несколько типов в массиве, используйте объединённый тип для его элементов.
const mixed: (string | number)[] = ['Alice', 1, 'Bob', 2];

Деструктуризация массивов с типами

При деструктуризации массива TypeScript выводит типы извлечённых переменных.
const coords: number[] = [10, 20];
const [x, y] = coords; // x: number, y: number

Выбор между T[] и Array<T>

Для TypeScript обе формы идентичны. Используйте T[] для простых типов. Выбирайте Array, если тип элемента длинный или если для наглядности используются другие обобщённые типы.

Быстрая проверка

Какой тип TypeScript выводит для пустого массива, объявленного как `const list = []`?

Итоги

Используйте T[] или Array, чтобы задать типы массивов в TypeScript. Всегда добавляйте аннотации к пустым массивам. TypeScript проверяет тип элементов при использовании push, map, filter и других операций над массивами.

Часто задаваемые вопросы

Урок «Типизированные массивы: T[] и Array<T>» бесплатный?

Да — полный текст урока «Типизированные массивы: T[] и Array<T>» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс TypeScript Academy, подпишись на CoddyKit PRO. Курс TypeScript Academy содержит 4 уроков всего.

Чему я научусь в уроке «Типизированные массивы: T[] и Array<T>»?

Типизируйте массивы и предотвращайте смешивание несовместимых значений. Ты практикуешь TypeScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать TypeScript Academy?

Предыдущий опыт не требуется. TypeScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Типизированные массивы: T[] и Array<T>»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке TypeScript Academy?

Да. Каждый урок TypeScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Типизированные массивы: T[] и Array
  2. Readonly-массивы и неизменяемые данные
  3. Кортежи: типизированные массивы фиксированной длины
  4. Перечисления: числовые и строковые константы
← Назад к TypeScript Academy