Middle
Генериктер деген эмне?
sobes.tech AI
AIден жооп
TypeScriptтеги генераторлору (generics) компоненттерди (функциялар, класстар, интерфейстер) түзүүгө мүмкүндүк берет, алар ар кандай маалымат түрлөрү менен иштей алат, ошол эле учурда түр коопсуздугун сактайт. Алар көбүрөөк ийкемдүү жана кайра колдонулучу код жазууга мүмкүндүк берет, статикалык типтөө артыкчылыктарын жоготпостон. Анын эң жөнөкөй мисалы — функцияларда дженериктерди колдонуп, аргумент катары берилген менен бирдей типти кайтаруу.
// Ар кандай типтеги аргументти кабыл алып, аны кайтарган функция
function identity<T>(arg: T): T {
return arg;
}
// Конкреттүү тип менен колдонуу — string
let outputString = identity<string>("текст"); // outputStringтин тиби — string
// Автоматтык түр чыгаруучу менен колдонуу — number
let outputNumber = identity(123); // outputNumberтин тиби — number
Дженериктерди класстарда да колдонсо болот:
// Ар кандай типтеги элементтер менен иштеген класс
class GenericBox<T> {
value: T;
constructor(initialValue: T) {
this.value = initialValue;
}
}
// String тибинде GenericBox түзүү
let stringBox = new GenericBox<string>("салам");
// Boolean тибинде GenericBox түзүү
let booleanBox = new GenericBox(true); // TypeScript тибин чыгарат
Интерфейстерде:
// Дженерик менен интерфейс
interface KeyValuePair<K, V> {
key: K;
value: V;
}
// Конкреттүү типтер менен колдонуу
let stringNumberPair: KeyValuePair<string, number> = { key: "жашы", value: 30 };
Дженериктердин пайдалары:
- Кодду кайра колдонуу: Бир структураны ар кандай типтер менен колдонсо болот.
- Тип коопсуздугу: Компилятор типтерди текшерет, потенциалдуу каталарды алдын алат.
- Окумдуулук жана колдоо: Код көбүрөөк түшүнүктүү болот, анткени компонент кандай типтер менен иштеп жатканын көрүүгө болот.
Дженериктер React (пропс типтерин аныктоо үчүн), Redux (стордун типтерин аныктоо үчүн) жана башка китепканаларда кеңири колдонулат, ошондой эле маалымат топтомдору менен иштөөдө.