Перейти к содержимому
27 / 27

Что такое opaque types и как их реализовать через branded types?

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

Что такое opaque types и как их реализовать через branded types? | JScriptiser