🔥

Тред (Старовойт Андрей)


Для многих языков, помимо парсера и механизма вывода типов, мы еще реализовываем Control Flow граф. Этот граф позволяет отслеживать изменения состояния программы (Data Flow Analysis), благодаря чему появляется возможность писать целый новый класс умных инспекций
notion image

Интересный факт, что реализация CF графа для TypeScript и JavaScript полностью совпадает. Потому что TypeScript не привносит никакого дополнительного поведения в Runtime

CF граф также используется для Type Guard (механизма сужения типов) в TypeScript

Чуть подробнее о том, как строится граф и как используется в TypeScript я рассказывал вот здесь: youtube.com/watch?v=qddYQL…

Простой пример CF графа
notion image