Какие типы данных могут быть массивом в Typescript?

Пользователь

от rodger.botsford , в категории: JavaScript , 2 года назад

Какие типы данных могут быть массивом в Typescript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от velma , 2 года назад

@rodger.botsford 

В TypeScript, массив (Array) является встроенным типом данных и может быть объявлен с помощью различных типов элементов, включая:

  1. number: массив чисел (например, [1, 2, 3]).
  2. string: массив строк (например, ['hello', 'world']).
  3. boolean: массив логических значений (например, [true, false, true]).
  4. object: массив объектов (например, [{name: 'John', age: 25}, {name: 'Jane', age: 30}]).
  5. any: массив элементов любого типа (например, [1, 'hello', true, {name: 'John', age: 25}]).


Также в TypeScript можно определить массив с помощью типизации кортежа (tuple), где каждый элемент массива имеет определенный тип данных и фиксированный размер, например:

1
let tupleArr: [string, number] = ['hello', 123];


Здесь tupleArr является массивом, состоящим из двух элементов - первый элемент имеет тип string, а второй элемент имеет тип number.

Пользователь

от jorge , 8 месяцев назад

@rodger.botsford 

В TypeScript также можно создавать массивы, содержащие пользовательские типы данных или даже другие массивы. Вот несколько примеров:

  1. Массив пользовательского типа:
1
2
3
4
5
6
7
8
9
interface User {
    name: string;
    age: number;
}

let users: User[] = [
    { name: 'Alice', age: 30 },
    { name: 'Bob', age: 25 }
];


  1. Массив массивов:
1
2
3
4
5
let matrix: number[][] = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
];


  1. Массив с комбинированными типами данных:
1
let mixedArray: (string | number)[] = ['hello', 123, 'world', 456];


  1. Массив с определенным количеством элементов и различными типами:
1
let tupleArr: [string, number, boolean] = ['hello', 123, true];


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