📌 5 крутых фич TypeScript, о которых ты мог не знать — 4 апреля 2026 г. в 06:55:39.845
📌 5 крутых фич TypeScript, о которых ты мог не знать TypeScript — это не просто строгая типизация, но и мощный инструмент, который может сделать твой код чище и безопаснее. Сегодня покажу 5 полезных возможностей, которые ты мог упустить! 1️⃣ satisfies — Гарантия соответствия Часто бывает, что мы определяем объект с определёнными ключами, но хотим, чтобы TypeScript проверил, соответствуют ли они ожидаемой схеме. Вот где пригодится satisfies: type Theme = "light" | "dark"; const config = { theme: "light", debug: true, } satisfies { theme: Theme; debug: boolean }; // Теперь TypeScript гарантирует, что `theme` всегда будет соответствовать "light" | "dark" 2️⃣ keyof + typeof — Безопасные ключи Если у тебя есть объект и ты хочешь работать с его ключами безопасно, эта комбинация спасает: const user = { name: "Jhon", age: 30, }; type UserKeys = keyof typeof user; // "name" | "age" const key: UserKeys = "name"; // ✅ TypeScript гарантирует, что это корректный ключ 3️⃣ Extract<> и Exclude<> — Фильтрация типов Эти утилиты позволяют выделять или исключать типы из union-типов: type EventType = "click" | "hover" | "scroll"; type MouseEvents = Extract<EventType, "click" | "hover">; // "click" | "hover" type NonMouseEvents = Exclude<EventType, "click" | "hover">; // "scroll" 4️⃣ as const — Заморозка значений Если тебе нужно, чтобы объект или массив стали неизменяемыми (и сохранили точные значения), используй as const: const roles = ["admin", "user", "guest"] as const; type Role = (typeof roles)[number]; // "admin" | "user" | "guest" 5️⃣ ReturnType<> — Получение типа возвращаемого значения Если у тебя есть функция, и тебе нужно определить её возвращаемый тип, ReturnType<> сделает это за тебя: function getUser() { return { name: "Jhon", age: 30 }; } type User = ReturnType<typeof getUser>; // { name: string; age: number } ✍️ @React_lib

