Работа с массивами и кортежами TypeScript

TypeScript расширяет JavaScript дополнительными функциями типов, упрощая работу со сложными структурами данных, такими как массивы и кортежи. Это руководство познакомит вас с массивами и кортежами в TypeScript, включая то, как определять, манипулировать и эффективно использовать их.

Массивы TypeScript

Массивы в TypeScript похожи на массивы в JavaScript, но имеют дополнительное преимущество в виде аннотаций типов. Это гарантирует, что все элементы в массиве соответствуют определенному типу.

Определение массивов

Чтобы определить массив в TypeScript, необходимо указать тип его элементов, а затем []:

let numbers: number[] = [1, 2, 3, 4, 5];
let names: string[] = ["Alice", "Bob", "Charlie"];

В этом примере numbers — это массив number, а names — это массив string.

Методы массива

Массивы TypeScript поддерживают различные методы, похожие на массивы JavaScript. Вот некоторые общие методы:

  • push(): Добавляет элемент в конец массива.
  • pop(): Удаляет последний элемент массива.
  • shift(): Удаляет первый элемент массива.
  • unshift(): Добавляет элемент в начало массива.
  • map(): создает новый массив, применяя функцию к каждому элементу.

Пример массива

let numbers: number[] = [1, 2, 3, 4, 5];
numbers.push(6); // [1, 2, 3, 4, 5, 6]
let doubled = numbers.map(n => n * 2); // [2, 4, 6, 8, 10, 12]

Кортежи TypeScript

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

Определение кортежей

Чтобы определить кортеж, используйте квадратные скобки [] с указанием типов для каждого элемента:

let person: [string, number] = ["Alice", 30];

В этом примере person — это кортеж, где первым элементом является string, а вторым элементом — number.

Доступ к элементам кортежа

Доступ к элементам кортежа осуществляется с помощью их индекса, аналогично массивам:

let person: [string, number] = ["Alice", 30];
let name = person[0]; // "Alice"
let age = person[1]; // 30

Кортеж с дополнительными элементами

Кортежи также могут включать необязательные элементы:

let person: [string, number?] = ["Alice"];
let personWithAge: [string, number?] = ["Bob", 30];

В этом примере второй элемент кортежа является необязательным.

Заключение

Массивы и кортежи TypeScript предлагают мощные способы обработки коллекций данных с сильной безопасностью типов. Понимая, как определять, манипулировать и использовать массивы и кортежи, вы можете писать более надежный и поддерживаемый код. Используйте массивы для списков однородных данных и кортежи для коллекций фиксированного размера с неоднородными данными.