Серия «Typescript» — Массивный тип без сдвига

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

Давайте создадим тип для функции JavaScript Array.unshift. Которая выталкивает элемент в массив в последнюю позицию.

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

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

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

TArray расширяет readonly unknown[] Сначала мы проверяем, что наш TArray имеет тип array.

Затем мы передаем значение и раскладываем массив в массив [U, ...TArray].

Спасибо!

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

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