Обложка канала

Заметки про React

Короткие и полезные заметки про React

Заметки про React

4 года назад
Открыть в
Разбираемся в TypeScript с помощью теории множеств Владимир Клепов написал подробный гайд про устройство типов в TypeScript. Для наглядности применяются определения из теории множеств: объединение A ∪ B , пересечение ​​A ∩ B, разность A \ B , подмножество и надмножество. Например: - A extends B можно выразить как “A является подмножеством B”. - Тип объединения | и пересечения & является объединением и пересечением двух множеств. - Exclude<A, B> можно назвать разностью двух множеств, но с условием что A и B являются объединением. - never – пустое множество. A & never = never и A | never = A. Одним из интересных примеров можно выделить то, что TypeScript позволяет объявлять такие выражения: const x: {} = 9;. Это происходит из-за того, что тип {} не значит то же самое, что и пустой объект в JS. Это тип, в котором можно получить доступ к свойствам, но не важно к каким. Чтобы было понятнее, еще один похожий пример валидного выражения: const x: { toString(): string } = 9;. Это связано с тем, что TypeScript под капотом видит примитив как объект. Поэтому TypeScript позволяет выполнять такие выражения, т.к. благодаря автобоксингу JS выражение валидно и можно вызвать x.toString(). blog.thoughtspile.tech/2023/01…ipt-sets
Making sense of TypeScript using set theory

Vladimir Klepov as a Coder