Type vs Interface – что выбрать и почему? | TypeScript | Вопросы с собеседований
Автор: profrontend | Екатерина Нанивская
Загружено: 2025-06-17
Просмотров: 1149
Описание:
Всем привет! В этом видео мы подробно разберём interface и type в TypeScript их схожести и отличия, а также я дам рекомендации, когда и что лучше исопльзовать на практике. 💡
Что вас ждёт внутри:
Разбираемся в теории
Чем отличаются механизмы расширения:
interface A extends B, C
пересечения через type A = B & C
Уникальная фишка interface — declaration merging (слияние объявлений)
Как type позволяет создавать любые псевдонимы, union‑типы, условные (T extends … ? … : …) и отображаемые типы (mapped types)
Обзор встроенных и пользовательских utility types (Partial, Readonly и другие).
Будет много примеров кода, практических советов и разбора «подводных камней» обоих подходов. Погружаемся в мир статической типизации и учимся выбирать правильный инструмент для вашего проекта! 🚀
Поставь, пожалуйста, лайк, подпишись и нажми на 🔔, чтобы не пропустить новые ролики! Поехали! 🎬
P.S. Несколько важных моментов для понимания:
1. interface и type существуют только на этапе разработки и полностью удаляются при компиляции в JavaScript.
2. В классическом ООП основной акцент interface-ов делался на поведении. В TypeScript же интерфейсы чаще применяются для описания структуры данных и публичного API — простого контракта того, что объект обязан иметь (какие поля и методы), а не как этот контракт выполняется в рантайме. Именно из-за этой разницы у многих возникает ощущение того, что type и interface в TypeScript - это одно и то же.
Приятного просмотра! 🙏
Мой телеграм-канал: https://t.me/katerina_profrontend
00:00:00 - Вступление
00:00:20 - Разбираемся в определениях
00:01:13 - Отличие № 1: Синтаксис
00:01:30 - Отличие № 2: Псевдонимы
00:06:54 - Отличие № 3: Расширение
00:07:54 - Отличие № 4: Declaration merging
00:09:27 - Отличие № 5: Поведение при конфликтах
00:11:04 - Что лучше использовать?
00:12:18 - Подводим итоги!
Любая информация, представленная в этом видео, принадлежат мне и не отражают позицию моего работодателя или каких-либо организаций, с которыми я связана.
Весь материал, показанный в видео, был создан мной лично в свободное от работы время на моем собственном ноутбуке и используются исключительно для демонстрационных целей. Всё показанное в ролике не имеет никакого отношения к интеллектуальной собственности моего работодателя или других связанных со мной организаций.
#frontend #typescript #typescripttutorial #junior #фронтенд #обучение #frontendmentor #frontenddevelopment
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: