Я хотел бы начать с того, что делаю эту серию статей, чтобы лучше изучить и понять Typescript, поэтому не стесняйтесь поправлять меня или обращаться ко мне.
Давайте создадим тип для функции JavaScript Array.push. Которая выталкивает элемент в массив в последней позиции.
Push<[1, 2], '3'> // [1, 2, '3']
Push<['1', 2, '3'], boolean> // ['1', 2, '3', boolean]
Итак, мы знаем, что у нас есть массив, и наш тип должен возвращать массив + новое значение.
type Push<TArray extends unknown[], U> = [...TArray, U]
TArray расширяет readonly unknown[]
Сначала мы проверяем, что наш TArray имеет тип array.
Затем мы просто раскладываем массив и новое значение в массив [...TArray, U]
.
Спасибо!
Вы можете найти меня здесь Мой Твиттер