TGViewer
Frontend Alliance | Автушенко Андрей Frontend Alliance | Автушенко Андрей @frontendalliance · 2.22K subscribers
Post #113 1.34K
Система типов TypeScript

🟣Что такое тип?

Тип - это множество возможных значений и набор операций, которые можно выполнять над этими значениями

🟣Что такое система типов?

Система типов - это совокупность всех доступных типов и правила для работы с ними.

В 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
  • 🔥 20
  • 👍 8
  • ✍ 6
More from @frontendalliance
  1. Sep 19, 2026Скам на рынке труда Скам в интернете уже давно не удивляет. Но сегодняшний скам паразитиру…
  2. Sep 15, 2026Post #141
  3. Sep 10, 2026Post #140
  4. Aug 21, 2026Post #139
  5. Aug 6, 2026Type refinements: все способы уточнить тип Type Refinement (или уточнение типа) - это проц…
  6. Jun 30, 2026WeakMap и WeakSet На защитах материала у студентов по JavaScript я регулярно вижу один и т…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →