Серия статей по Typescript — Тип Array Concat

Я хотел бы начать с того, что делаю эту серию статей, чтобы лучше изучить и понять Typescript, поэтому не стесняйтесь поправлять меня или обращаться ко мне.

Давайте создадим тип для функции JavaScript Array.concat. Тип принимает два аргумента. На выходе должен получиться новый массив, включающий входы в порядке ltr.

Некоторые примеры:

Concat<[], []>
// []

Concat<[], [1]>
// [1]

Concat<[1, 2], [3, 4]>,
// [1, 2, 3, 4]

Concat<['1', 2, '3'], [false, boolean, '4']>
// ['1', 2, '3', false, boolean, '4']
Войти в полноэкранный режим Выход из полноэкранного режима

Итак, мы знаем, что наши входные данные должны быть массивами, так же как и возвращаемый тип.

type Concat<T extends unknown[], U extends unknown[]> = [...T,... U]
Войти в полноэкранный режим Выход из полноэкранного режима

<T extends unknown[], U extends unknown[]> Сначала мы проверяем, являются ли оба наших входных данных массивами. Если да, то с помощью оператора spread мы разложим оба входных значения в новый массив [...T,...U].

Вот и все, наш тип concat готов.

Спасибо!

Вы можете найти меня здесь Мой Твиттер

Оцените статью
devanswers.ru
Добавить комментарий