Работа с массивами и кортежами 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 предлагают мощные способы обработки коллекций данных с сильной безопасностью типов. Понимая, как определять, манипулировать и использовать массивы и кортежи, вы можете писать более надежный и поддерживаемый код. Используйте массивы для списков однородных данных и кортежи для коллекций фиксированного размера с неоднородными данными.