📄️ Зачем нужен TS
TypeScript — это язык программирования, который расширяет JavaScript, добавляя статическую типизацию и другие возможности.
📄️ Типы данных
TypeScript — это строго типизированный язык программирования, который расширяет JavaScript, добавляя статическую типизацию. В TypeScript используются как базовые типы данных (примитивы), так и продвинутые типы, которые позволяют более точно описывать структуру данных. Вот основные типы данных в TypeScript:
📄️ Отличие types от interface
В TypeScript и type, и interface используются для определения типов данных, но они имеют некоторые различия в синтаксисе, возможностях и использовании.
📄️ Utility types
Utility Types в TypeScript — это встроенные generic-типы, которые предоставляют удобные способы для преобразования или манипуляции существующими типами. Они упрощают работу с типами, позволяя создавать новые типы на основе существующих без необходимости писать сложные конструкции вручную.
📄️ Generic types
Generics (обобщения) в TypeScript — это механизм, который позволяет создавать универсальные, переиспользуемые компоненты (функции, классы, интерфейсы), которые могут работать с разными типами данных, сохраняя при этом безопасность типов.
📄️ Type guards
Type Guards (защитники типов) в TypeScript — это механизм, который позволяет сужать тип переменной внутри блока кода на основе проверки условий. Это помогает TypeScript лучше понимать, с каким типом данных он работает, и обеспечивает безопасность типов.
📄️ Enums и as const
Enum (перечисления) в TypeScript — это способ определения набора именованных констант. Enums полезны, когда нужно работать с набором связанных значений, которые имеют смысл только в контексте друг друга.
📄️ Namespaces
В TypeScript namespace (пространство имён) — это способ группировки логически связанных объектов, функций и интерфейсов. Они помогают избежать конфликтов имён в больших кодовых базах, инкапсулируя объявления внутри единого блока.
📄️ Декораторы
Декораторы — это специальный вид функций, которые позволяют изменять или дополнять поведение классов, их методов, свойств и параметров. Они используются для метапрограммирования и широко применяются, например, в Angular.