Как работает type narrowing?

Middle
298 просмотров
AFK Offer AI

Type narrowing — это сужение типа внутри условных блоков. TypeScript анализирует control flow: после if (typeof x === "string") внутри блока x имеет тип string. Работает с typeof, instanceof, in оператором, equality checks, truthiness checks, discriminated unions. Также работает с assertion functions и кастомными type guards (is). Narrowing — это то, что делает TS практичным: ты не кастишь типы вручную, а даёшь TS достаточно информации для вывода.

Следующий вопрос

Что такое CSS-переменные (custom properties)?