Type vs Interface – что выбрать и почему? | TypeScript | Вопросы с собеседований
Всем привет! В этом видео мы подробно разберём 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
Всем привет! В этом видео мы подробно разберём 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