что они из себя представляют и какие возможности предоставляют. Ни у кого нет ссылки на какую-нибудь статью с подробным разбором дженериков, где пошагово бы объяснялось что происходит на том или ином этапе?
Дженерик — это переменная, только на уровне типов. Для понимания достаточно и этого.
Это скорее функция с параметрами, т.к основное назначение это композиция
"Для понимания достаточно". Для понимания чего? Что такое дженерик? Мне больше подробностей нужно, ни от кого не требую чтоб мне поясняли, поэтому спрашиваю ссылку на какие-нибудь статьи с разборами
Тише, сейчас человека запутаем. :-)
переменная на уровне типов? wut?
благодарю, надеюсь это мне поможет хорошо их понять теоретически, а то чувствую, что туговато что-то идёт
ну вот самый простой пример - Record можно описать его как type Record<K extends string | number, V> = { [key in K]: V } после передачи типов в дженерик он будет тебе строить описанный в дженерике тип объекта const a: Record<number, boolean> = { 1: true, 2: false } const b: Record<string, string> = { a: 'str', b: 'str2' }
здесь накладываются ограничения на передаваемый ключ
на этом моменте вроде все понятно) спасибо)
я почему решил крепко их изучить, потому что у меня была задача - типизировать функцию, которая принимает переменную какого-то типа, а в зависимости от этого типа возвращает другую функцию. около двух недель ломал голову, в итоге решил через overload
Обсуждают сегодня