Branded types позволяют различать примитивы одного типа через "бренд" — виртуальное поле. type UserId = string & { _brand: "UserId" }. type PostId = string & { _brand: "PostId" }. Теперь нельзя перепутать UserId и PostId — TypeScript выдаст ошибку. Создаётся через: function asUserId(id: string): UserId { return id as UserId }. Полезно для: идентификаторов, единиц измерения (Meters vs Seconds), validated strings (Email, Url). Нулевой рантайм overhead.
Что такое branded types в TypeScript?
Senior
251 просмотровAFK Offer AI
Как реализовать Decorator паттерн в Node.js?