Приветствую тебя на очередном, уже 21-м уроке нашего курса по TypeScript! Сегодня мы разберем одну из моих самых любимых и невероятно мощных возможностей TypeScript, это пользовательские type guards (защитники типов), а конкретнее, волшебный оператор is. Это тот инструмент, который отделяет простое использование TypeScript от профессионального владения им. Он позволяет нам не просто описывать типы, а активно […]

Читать полностью

Сегодня нас ждет один из самых важных и практичных уроков во всем курсе. Мы будем говорить о механизме, который лежит в самой основе того, как TypeScript понимает наш код и обеспечивает его безопасность. Речь пойдет о Сужении типов (Narrowing) и Защитниках типов (Type Guards). До этого мы часто сталкивались с ситуациями, когда у переменной могло быть несколько […]

Читать полностью

Сегодня у нас очень интересная тема. Мы уже познакомились с основами объединений (union) и пересечений (intersection) типов. Но сегодня мы выведем эти концепции на совершенно новый уровень, научившись создавать мощные и переиспользуемые конструкции с помощью псевдонимов типов (type aliases). До сих пор мы использовали union и intersection «на месте», прямо в аннотациях переменных или параметров […]

Читать полностью

В предыдущих уроках мы с вами разобрали, как сужать типы с помощью объединений (Union Types), когда переменная может быть одним типом из нескольких. Это инструмент для гибкости. Но что, если нам нужно совместить несколько типов одновременно, а не выбрать один? Для этой задачи в TypeScript существует не менее элегантный и мощный механизм, Пересечения типов (Intersection […]

Читать полностью

Сегодня нас ждет очень важная и одна из краеугольных тем в системе типов этого языка, это объединения (Union Types). Если до этого мы работали с переменными, которые могли быть только одного, строго предопределенного типа, то сегодня мы научимся создавать гибкие конструкции, которые могут принимать значения из двух или более типов. Это как если бы у […]

Читать полностью

Мы с вами уже проделали огромный путь, изучили базовые типы, функции, интерфейсы и дженерики. Мы стали увереннее в системе типов и компилятор стал нашим верным союзником, который подсказывает нам ошибки и помогает писать более надежный код. Но сегодня мы поговорим о ситуации, когда мы становимся главнее компилятора. Ситуации, когда мы говорим ему: «Спасибо, друг, я понимаю […]

Читать полностью

Сегодня нас ждет очень интересная и полезная тема, перечисления или Enums. Если вы когда-либо мечтали о том, чтобы ваши константы были не просто разрозненными числами или строками, а были объединены в логическую, удобную для чтения и поддержки структуру, то этот урок именно для вас. Enums это один из тех инструментов, который по-настоящему показывает мощь TypeScript поверх JavaScript, […]

Читать полностью

Мы уже прошли значительный путь, изучив базовые типы, интерфейсы и множество других концепций. Сегодня нас ждет очень важная и элегантная тема, это Литеральные типы (Literal Types). Один из тех инструментов, который кажется простым на первый взгляд, но открывает потрясающие возможности для написания строго типизированного и надёжного кода. Что такое литеральные типы? Давай начнём с самого […]

Читать полностью

Сегодня нас ждет одна из самых интересных и можно даже сказать «магических» тем, это перегрузки функций. Если вы когда-нибудь слышали этот термин в контексте других языков, вроде Java или C#, то не пугайтесь. В TypeScript это реализовано несколько иначе, но суть остается прежней, одна функция, множество лиц. Этот инструмент невероятно полезен, когда мы хотим создать […]

Читать полностью

Сегодня нас ждет очень важная и очень практичная тема. Мы научимся делать наши функции более гибкими и удобными, а код более читаемым и надежным. Речь пойдет об опциональных параметрах и параметрах по умолчанию. В JavaScript мы часто сталкиваемся с функциями, которые могут принимать разное количество аргументов. TypeScript, как строго типизированный надстройка над JS, предоставляет нам отличные инструменты […]

Читать полностью