Generic-типы

Базовый пример

const arrayOfNumbers: Array<number> = [1, 2, 3, 4]

function reverse<T>(array: T[]): T[] {
    return array.reverse()
}

Generic и Promise

Использование generic в промисах:

// Через Generic тип указываем с каким типом работает Promise
const promise = new Promise<string>(resolve => {
    setTimeout(() => {
        resolve('Promise resolved')
    }, 2000)
})

// data имеет тип string теперь
promise.then(data => {
    console.log(data)
})

/*
Что здесь происходит:
1. создается callback-функция: data => {console.log(data)}
2. resolve инициализируется значением callback-функции через вызов у promise метода then
3. Когда promise запущен, внутри него будет вызван resolve
*/

Generic типы для создания более гибких функций и проверки самого себя на этапе разработки

Использование для получения доступа к информации о полях

Generic типы в классах

Partial: Generic типы и временные объявления

Readonly инструмент

Этот инструмент позволяет блокировать изменение значений полей

То же самое можно делать и с объектами.

Last updated