TGViewer
Frontend | Вопросы собесов Frontend | Вопросы собесов @easy_javascript_ru · 17.6K subscribers
Post #133 8.37K
Что такое дженерик ?
Спросят с вероятностью 17%

Дженерики (Generics) — это мощный инструмент, позволяющий создавать компоненты (как правило, функции, классы и интерфейсы), работающие с любым типом данных. Основная цель — обеспечение строгой типизации при работе с различными типами данных, не теряя при этом гибкости и переиспользуемости кода.

Как это работает

Вместо указания конкретного типа данных при создании компонента, используется параметр типа — переменная, которая затем заменяется на реальный тип данных при использовании компонента. Это позволяет компоненту работать с различными типами данных без изменения его исходного кода.

Преимущества:

✅ Безопасность типов: Позволяют проверить тип данных на этапе компиляции, предотвращая возможные ошибки, связанные с неправильным использованием типов данных.
✅ Переиспользуемость кода: С помощью можно создать универсальные алгоритмы и структуры данных, работающие с любыми типами данных, что сокращает дублирование кода.
✅ Читаемость кода: Использование их делает код более понятным, поскольку намерения разработчика становятся очевидными благодаря явному указанию типов данных.

В нем дженерики активно используются для повышения безопасности типов.
function identity<T>(arg: T): T {
return arg;
}

let output1 = identity<string>("myString"); // тип T становится string
let output2 = identity<number>(100); // тип T становится number


Дженерики — это концепция в программировании, позволяющая компонентам работать с разными типами данных, при этом сохраняя строгую типизацию. Это достигается за счет использования параметров типа, которые заменяются на конкретные типы данных при использовании компонента, улучшая тем самым безопасность, переиспользуемость и читаемость кода.

👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти к Списку всех вопросов на Frontend Developer. Ставь 👍 если нравится контент.

🔐 База собесов | 🔐 База тестовых
  • 🔥 43
  • 👍 24
  • ❤ 7
More from @easy_javascript_ru
  1. Oct 17, 2026🤔 Откуда взялся CSS? CSS (Cascading Style Sheets) появился в 1996 году для отделения стил…
  2. Oct 17, 2026🤔 Какие значения будут являться falsy значениями? В JavaScript значения, которые при прив…
  3. Oct 16, 2026🤔 Что такое meta теги? Meta-теги – это специальные HTML-теги, которые содержат метаинформ…
  4. Oct 15, 2026🤔 Какие преимущества у di? Dependency Injection (DI) – это паттерн проектирования, которы…
  5. Oct 14, 2026🤔 Зачем создавались библиотеки react и другие? Библиотеки, такие как React, создавались д…
  6. Oct 13, 2026🤔 Что такое репозиторий? Это хранилище кода, файлов и их истории изменений. Используется…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →