🟣Что такое тип?
Тип - это множество возможных значений и набор операций, которые можно выполнять над этими значениями
🟣Что такое система типов?
Система типов - это совокупность всех доступных типов и правила для работы с ними.
В TypeScript каждая переменная имеет свой тип. Тип может быть указан явно (мы прописываем его сами) или определён неявно, когда TS выводит его автоматически.
let x = 'hello world'
let y: string = 'hello world'
Тип гарантирует, что в переменной хранится значение из определенного «набора возможных значений».
TypeScript включает все нативные типы JavaScript: number, string, boolean, bigint, symbol, null, undefined и object.
const age: number = 30;
const adress: string = "Moscow";
const isActive: boolean = true;
const largeNumber: bigint = 100n;
const id: symbol = Symbol("uniqueId");
const value: null = null;
const data: undefined = undefined;
const object: object = { foo: 'bar' };
Кроме того, он добавляет и дополнительные специальные типы: void, any, unknown и never (о них будет отдельный пост).
🟣К посту прикрепил схему системы типов в TypeScript.
Она показывает, что существует пространство всех возможных значений - его описывает тип unknown, самый широкий тип в системе.
Внутри находятся все остальные типы.
При этом каждый тип может иметь своё подпространство - более «узкие» типы, которые содержат типы меньших размеров.
const x1 = 5
В данной строчке типом переменной будет не number, а конкретное значение 5.
Это называется литеральным типом. То есть мы сузили с множества всех возможных чисел до одного единственного значения.
Аналогично мы можем явно указать, что тип переменной должен быть равен литералу числа 5 или строке 'bar'.
const x: 5 = 5
const y: 'bar' = 'bar'
То же самое работает и для всех примитивных типов.
✈️ Telegram | 🎓 Менторство | 📹 YouTube | 👩💻 Roadmap
