23 / 27
Что такое branded types (номинальные типы) и зачем они нужны?
Branded types — это приём, который превращает структурно одинаковые типы в несовместимые, добавляя фиктивное свойство-бренд. TypeScript использует структурную типизацию, поэтому UserId и OrderId как обычные string неотличимы. Бренд делает их номинально различными, и компилятор не даст перепутать одно с другим.