Я хотел бы начать с того, что делаю эту серию статей, чтобы лучше изучить и понять 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]
.
Спасибо!
Вы можете найти меня здесь Мой Твиттер