27 / 27
Что такое opaque types и как их реализовать через branded types?
Opaque type (непрозрачный тип) -- это тип, чья внутренняя структура скрыта от потребителя. В TypeScript нет нативных opaque types, но их реализуют через branded types -- добавление фантомного поля (бренда), которое не существует в рантайме, но делает типы несовместимыми на уровне проверки. UserId и OrderId оба string, но нельзя подставить один вместо другого.